使用SQL WHERE子句过滤查询结果集中的行
WHERE
在本教程中,我们将学习如何使用的WHERE子句来过滤结果集中的行。
WHERE子句不仅可以用在SELECT语句中, 还可以在UPDATE和DELETE等SQL语句中,用来筛选满足指定条件的行。
WHERE子句
在SELECT语句中WHERE子句的语法:
SELECT
column_1, column_2
FROM
tableName
condition;
数据库引擎首先计算WHERE子句中的条件,以排除掉不符合条件的行。然后,它根据结果计算SELECT子句,只在最终结果集中包含必需的列。
SELECT子句
SQL提供了各种运算符,如比较运算符、逻辑运算符等,通过这些操作符,你就可以创建WHERE的条件。
下表是SQL中的比较运算符:
lastname, firstname, HomePhone
employees
lastname =
'King'
;
数据库引擎将执行以下步骤的操作:
1,检索FROM子句中指定的employees表中的所有行。2,只获取lastname列值为King的行。3,只返回SELECT子句中指定的列:lastname、firstname和HomePhone
lastname, firstname, title, country,
DATE
(hiredate)
hiredate <
'1993-01-01'
lastname, firstname, title, country
country <>
'USA'
itemid, productid, attr1, listprice
item
listprice > 20
SQL提供了3个逻辑操作符:AND, OR和NOT。
操作符优先级的优先级是 首先计算NOT运算符,然后计算AND运算符,最后计算OR运算符。可以使用括号()指定运行优先顺序。
()
用于组合两个或多个条件,当两个条件或所有条件都是TRUE时 返回TRUE
productid,
name
, category
product
=
'Bulldog'
AND
category =
'DOGS'
用于组合两个条件或多个条件,当多个条件中只要有一个是TRUE时,就返回TRUE
'CATS'
OR
使用NOT把结果取反。
NOT
可以使用下面的语句,
firstname, lastname, city
city <>
'London'
'Seattle'
也可以使用NOT语句
(city =
city =
)
除了比较运算符、逻辑运算符, 在WHERE子句中还可以使用BETWEEN、IN、LIKE、EXISTS以及IS操作符。
BETWEEN
IN
LIKE
EXISTS
原文链接:https://codingdict.com/