這一課的主題是“檢索數據”,介紹如何使用SELECT語句從表中檢索一個或多個數據列。
提示
- SQL語句後要加分號
- 對SQL關鍵字使用大寫,對列名和表命使用小寫。這樣做使代碼更易於調試和閱讀。
- 多數SQL開發人員認爲,將SQL語句分成多行更容易閱讀和調試。
- SQL語句一般返回原始的、無格式的數據。數據的格式化是表示問題,而不是檢索問題。
警告
- 一般而言,除非你確實需要表中的每一列,否則最好別使用*通配符。雖然使用通配符能讓你自己省事,不用明確列出所需列,但檢索不需要的列通常會降低檢索和應用程序的性能。
- 通配符可以檢索出名字爲知的列。
- DISTINCT關鍵字作用於所有的列。
SELECT語句
爲了使用SELECT檢索表數據,必須至少給出兩條信息——想選擇什麼,以及從什麼地方選擇。
檢索單個列
輸入語句:
SELECT prod_name
FROM Products;
輸出結果:
prod_name
12 inch teddy bear
18 inch teddy bear
8 inch teddy bear
Bird bean bag toy
Fish bean bag toy
King doll
Queen doll
Rabbit bean bag toy
Raggedy Ann
上面的語句將返回表中的所有行。數據沒有過濾,也沒有排序。
DISTINCT關鍵字
SELECT DISTINCT vend_id
FROM Products;
SELECT DISTINCT vend_id 告訴DBMS只返回不同的vend_id行。
獲取前N行
不同的數據庫有不同的語句。MySQL使用下面的語句:
SELECT prod_name
FROM Products
LIMIT 5;
還可以使用下面的語句來指定起始偏移量。
SELECT prod_name
FROM Products
LIMIT 5 OFFSET 5;
指定從第5行起取5行,這裏的行數是zero-based index。
註釋
一般來說--
是行內註釋#
是行首註釋,/*...*/
是塊註釋