使用SQL查詢檢索數據:介紹SELECT語句

結構化查詢語言為數據庫用戶提供了強大而靈活的數據檢索機制 - 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