SQL SELECT 語句
在本教程中,你將學習如何使用 SQL 從資料庫表中選擇記錄。
從表中選擇資料
在上一章中,我們學習瞭如何在資料庫表中插入資料。現在是時候使用 SQL 查詢從現有表中選擇資料了。
SELECT
語句用於從一個或多個表中選擇或檢索資料。你可以使用此語句一次性從表中檢索所有行,以及僅檢索滿足特定條件或條件組合的那些行。
語法
從表中選擇資料的基本語法可以通過以下方式給出:
SELECT column1_name , column2_name , columnN_name FROM table_name ;
這裡,column1_name,column2_name,…是要獲取其值的資料庫表的列或欄位的名稱。但是,如果要獲取表中可用的所有列的值,則可以使用以下語法:
SELECT * FROM table_name ;
讓我們把這些陳述付諸實踐。假設我們的資料庫中有一個名為 employees 的表,其中包含以下記錄:
+--------+--------------+------------+--------+---------+
| emp_id | emp_name | hire_date | salary | dept_id |
+--------+--------------+------------+--------+---------+
| 1 | Ethan Hunt | 2001-05-01 | 5000 | 4 |
| 2 | Tony Montana | 2002-07-15 | 6500 | 1 |
| 3 | Sarah Connor | 2005-10-18 | 8000 | 5 |
| 4 | Rick Deckard | 2007-01-03 | 7200 | 3 |
| 5 | Martin Blank | 2008-06-24 | 5600 | NULL |
+--------+--------------+------------+--------+---------+
從表中選擇全部
以下語句將返回 employees 表中的所有行。
SELECT * FROM employees;
執行後,輸出將如下所示:
+--------+--------------+------------+--------+---------+
| emp_id | emp_name | hire_date | salary | dept_id |
+--------+--------------+------------+--------+---------+
| 1 | Ethan Hunt | 2001-05-01 | 5000 | 4 |
| 2 | Tony Montana | 2002-07-15 | 6500 | 1 |
| 3 | Sarah Connor | 2005-10-18 | 8000 | 5 |
| 4 | Rick Deckard | 2007-01-03 | 7200 | 3 |
| 5 | Martin Blank | 2008-06-24 | 5600 | NULL |
+--------+--------------+------------+--------+---------+
如你所見,它返回 employees 表中的所有行和列。
提示: 星號(*
)是一個萬用字元,表示一切。例如, SELECT
上面示例的語句中的星號字元是 employees 表的所有列的簡寫替代。
從表中選擇列
如果你不需要所有資料,則可以選擇特定列,如下所示:
SELECT emp_id, emp_name, hire_date, salary
FROM employees;
執行上面的語句後,你將獲得如下輸出:
+--------+--------------+------------+--------+
| emp_id | emp_name | hire_date | salary |
+--------+--------------+------------+--------+
| 1 | Ethan Hunt | 1995-10-30 | 5000 |
| 2 | Tony Montana | 1990-07-15 | 6500 |
| 3 | Sarah Connor | 2011-04-13 | 5600 |
| 4 | Rick Deckard | 2005-10-18 | 7200 |
| 5 | Martin Blank | 1996-05-24 | 8000 |
+--------+--------------+------------+--------+
正如你所看到的,結果集中沒有 dept_id 列。在下一章中,我們將學習如何根據條件從表中選擇記錄。