相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


5.3.4.2 選擇特定列

如前一節所示,擷取整個表格很容易。只需從 SELECT 陳述式中省略 WHERE 子句即可。但通常您不希望看到整個表格,尤其是在表格變大時。相反地,您通常更感興趣的是回答特定的問題,在這種情況下,您可以針對您想要的資訊指定一些限制條件。讓我們從回答有關您的寵物的問題的角度來看一些選擇查詢。

您可以從您的表格中僅選擇特定的列。例如,如果您想要驗證您對 Bowser 出生日期所做的變更,請像這樣選擇 Bowser 的記錄

mysql> SELECT * FROM pet WHERE name = 'Bowser';
+--------+-------+---------+------+------------+------------+
| name   | owner | species | sex  | birth      | death      |
+--------+-------+---------+------+------------+------------+
| Bowser | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |
+--------+-------+---------+------+------------+------------+

輸出確認年份已正確記錄為 1989 年,而不是 1979 年。

字串比較通常不區分大小寫,因此您可以將名稱指定為 'bowser''BOWSER' 等等。查詢結果相同。

您可以針對任何欄位指定條件,而不僅僅是 name。例如,如果您想知道哪些動物是在 1998 年或之後出生的,請測試 birth 欄位

mysql> SELECT * FROM pet WHERE birth >= '1998-1-1';
+----------+-------+---------+------+------------+-------+
| name     | owner | species | sex  | birth      | death |
+----------+-------+---------+------+------------+-------+
| Chirpy   | Gwen  | bird    | f    | 1998-09-11 | NULL  |
| Puffball | Diane | hamster | f    | 1999-03-30 | NULL  |
+----------+-------+---------+------+------------+-------+

您可以結合條件,例如,尋找雌性犬

mysql> SELECT * FROM pet WHERE species = 'dog' AND sex = 'f';
+-------+--------+---------+------+------------+-------+
| name  | owner  | species | sex  | birth      | death |
+-------+--------+---------+------+------------+-------+
| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
+-------+--------+---------+------+------------+-------+

上述查詢使用了 AND 邏輯運算子。還有一個 OR 運算子

mysql> SELECT * FROM pet WHERE species = 'snake' OR species = 'bird';
+----------+-------+---------+------+------------+-------+
| name     | owner | species | sex  | birth      | death |
+----------+-------+---------+------+------------+-------+
| Chirpy   | Gwen  | bird    | f    | 1998-09-11 | NULL  |
| Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL  |
| Slim     | Benny | snake   | m    | 1996-04-29 | NULL  |
+----------+-------+---------+------+------------+-------+

ANDOR 可以混合使用,雖然 AND 的優先順序高於 OR。如果您同時使用這兩個運算子,最好使用括號明確指出條件應如何分組

mysql> SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm')
       OR (species = 'dog' AND sex = 'f');
+-------+--------+---------+------+------------+-------+
| name  | owner  | species | sex  | birth      | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
+-------+--------+---------+------+------------+-------+