在本教程中,您將學(xué)習(xí)如何使用SQL從數(shù)據(jù)庫表中選擇記錄。
在上一章中,我們學(xué)習(xí)了如何在數(shù)據(jù)庫表中插入數(shù)據(jù)?,F(xiàn)在是時候使用SQL查詢從現(xiàn)有表中選擇數(shù)據(jù)了。
SELECT語句用于從一個或多個表中選擇或檢索數(shù)據(jù)。您可以使用此語句一次性檢索表中的所有行,以及僅檢索滿足特定條件或條件組合的那些行。
從表中選擇數(shù)據(jù)的基本語法可以通過以下方式給出:
SELECT column1_name, column2_name, columnN_name FROM table_name;
在這里,column1_name,column2_name,...是您要獲取其值的數(shù)據(jù)庫表的列或字段的名稱。但是,如果要獲取表中所有可用列的值,則可以使用以下語法:
SELECT * FROM table_name;
讓我們將這些語句投入實際使用。假設(shè)我們在數(shù)據(jù)庫中有一個名為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;
執(zhí)行后,輸出將如下所示:
+--------+--------------+------------+--------+---------+ | 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表中的所有行和列。
提示:星號(*)是通配符,表示所有內(nèi)容。例如,SELECT上面示例中的語句中的星號字符是employee表的所有列的簡寫代替。
如果不需要所有數(shù)據(jù),則可以選擇特定的列,如下所示:
SELECT emp_id, emp_name, hire_date, salary FROM employees;
執(zhí)行上面的語句后,您將獲得如下輸出:
+--------+--------------+------------+--------+ | 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 | +--------+--------------+------------+--------+
正如您看到的,這一次在結(jié)果集中沒有dept_id列。在下一章中,我們將學(xué)習(xí)如何根據(jù)條件從表中選擇記錄。