結構化查詢語言為數據庫用戶提供了強大而靈活的數據檢索機制 - SELECT語句。 在本文中,我們將看看SELECT語句的一般形式,並組合一些示例數據庫查詢。 如果這是您首次涉足結構化查詢語言的世界,您可能希望在繼續之前查看文章SQL 基礎知識 。
如果你想從頭開始設計一個新的數據庫,那麼在SQL中創建數據庫和表格應該是一個很好的起點。
現在您已經了解了基本知識,接下來讓我們開始探索SELECT語句。 與以前的SQL課程一樣,我們將繼續使用符合ANSI SQL標準的語句。 您可能希望查閱DBMS的文檔,以確定它是否支持可以提高SQL代碼效率和/或效率的高級選項。
SELECT語句的一般形式
SELECT語句的一般形式如下所示:
SELECT select_list
FROM 源
WHERE 條件(s)
GROUP BY 表達式
有條件
ORDER BY 表達式
該語句的第一行告訴SQL處理器,該命令是一個SELECT語句,我們希望從數據庫中檢索信息。 select_list允許我們指定我們希望檢索的信息的類型。
第二行中的FROM子句指定了涉及的特定數據庫表,並且WHERE子句使我們能夠將結果限制為符合指定條件的記錄。 最後三個子句代表本文範圍之外的高級功能 - 我們將在未來的SQL文章中探討它們。
學習SQL的最簡單方法就是舉例。 考慮到這一點,我們開始看一些數據庫查詢。 在本文中,我們將使用虛構的XYZ公司人力資源數據庫中的員工表來說明我們所有的查詢。 這是整個表格:
員工ID | 姓 | 名字 | 薪水 | 向...報告 |
1 | 工匠 | 約翰 | 32000 | 2 |
2 | 蝦 | 起訴 | 45000 | 空值 |
3 | 肯德爾 | 湯姆 | 29500 | 2 |
4 | 瓊斯 | 亞伯拉罕 | 35000 | 2 |
五 | 艾倫 | 法案 | 17250 | 4 |
6 | 雷諾茲 | 佳佳 | 19500 | 4 |
7 | 約翰遜 | 凱蒂 | 21000 | 3 |
檢索整個表
XYZ公司的人力資源總監每月收到一份報告,提供每位公司員工的薪水和報告信息。 這個報告的生成是SELECT語句最簡單形式的一個例子。 它只是檢索數據庫表中包含的所有信息 - 每一列和每一行。 以下是將完成此結果的查詢:
選擇 *
FROM員工
很簡單,對吧? 出現在select_list中的星號(*)是一個通配符,用於通知數據庫我們希望從FROM子句中標識的員工表中的所有列中檢索信息。 我們想要檢索數據庫中的所有信息,因此不需要使用WHERE子句來限制從表中選擇的行。
以下是我們的查詢結果:
員工ID | 姓 | 名字 | 薪水 | 向...報告 |
---------- | -------- | --------- | ------ | --------- |
1 | 工匠 | 約翰 | 32000 | 2 |
2 | 蝦 | 起訴 | 45000 | 空值 |
3 | 肯德爾 | 湯姆 | 29500 | 2 |
4 | 瓊斯 | 亞伯拉罕 | 35000 | 2 |
五 | 艾倫 | 法案 | 17250 | 4 |
6 | 雷諾茲 | 佳佳 | 19500 | 4 |
7 | 約翰遜 | 凱蒂 | 21000 | 3 |