亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

SQL WHERE 子句

在本教程中,您將學習如何使用SQL從表中選擇特定記錄。

根據(jù)條件選擇記錄

在上一章中,我們學習了如何從表或表列中獲取所有記錄。但是,在現(xiàn)實世界中,我們通常只需要選擇,更新或刪除滿足某些條件的那些記錄,例如屬于某個年齡段或某個國家/地區(qū)的用戶等。

WHERE子句用于與SELECT,UPDATEDELETE。但是,您將在接下來的章節(jié)中看到將此子句與其他語句一起使用。

語法

WHERE子句與SELECT 語句一起使用,僅提取滿足指定條件的那些記錄?;菊Z法可以通過以下方式給出:

SELECT column_list FROM table_name WHERE condition;

在這里,column_list是要獲取其值的數(shù)據(jù)庫表的列/字段的名稱,例如nameage,country等。但是,如果要獲取表中所有可用列的值,則可以使用以下語法:

SELECT * FROM table_name WHERE condition;

現(xiàn)在,讓我們看一些示例來演示其實際工作原理。

假設我們在數(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 |
+--------+--------------+------------+--------+---------+

使用WHERE子句過濾記錄

以下SQL語句將從employees表中返回其薪水大于7000的所有employee 。該WHERE子句只是過濾掉不需要的數(shù)據(jù)。

SELECT * FROM employees
WHERE salary > 7000;

執(zhí)行后,輸出將如下所示:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      3 | Sarah Connor | 2005-10-18 |   8000 |       5 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       3 |
+--------+--------------+------------+--------+---------+

正如您看到的,輸出僅包含薪水大于7000的那些雇員。類似地,您可以從特定列中獲取記錄,如下所示:

SELECT emp_id, emp_name, hire_date, salary
FROM employees
WHERE salary > 7000;

執(zhí)行上面的語句后,您將獲得如下輸出:

+--------+--------------+------------+--------+
| emp_id | emp_name     | hire_date  | salary |
+--------+--------------+------------+--------+
|      3 | Sarah Connor | 2005-10-18 |   8000 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |
+--------+--------------+------------+--------+

以下語句將獲取其雇員ID為2的雇員的記錄。

SELECT * FROM employees
WHERE emp_id = 2;

該語句將產生以下輸出:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      2 | Tony Montana | 2002-07-15 |   6500 |       1 |
+--------+--------------+------------+--------+---------+

這次,我們在輸出中僅獲得一行,因為emp_id對每個員工都是唯一的。

WHERE子句中允許的運算符

SQL支持許多可在WHERE子句中使用的運算符,下表總結了最重要的運算符。

操作員描述在線示例
=等于WHERE id = 2
>比...更棒WHERE age > 30
<少于WHERE age < 18
>=大于或等于WHERE rating >= 4
<=小于或等于WHERE price <= 100
LIKE簡單模式匹配WHERE name LIKE 'Dav'
IN檢查指定值是否與列表或子查詢中的任何值匹配WHERE country IN ('USA', 'UK')
BETWEEN檢查指定值是否在值范圍內WHERE rating BETWEEN 3 AND 5