叁、高档数据过滤

1.AND操作符SELECT
prod_id,prod_price,prod_name FROM Products WHERE
vend_id=’DLL01′ AND prod_price <=4

此SQL语句检索由供应商DLL0壹创立且价格小于等于肆美元的享有成品的称谓和价格。这条SELECT语句中的WHERE子句包括多个标准化,用AND关键字联结在1道。AND提示DBMS只回去满意全部给定条件的行。假使某些产品由供应商DLL01创立,但价格超越一日元,则不检索它。

AND
4503.com,用在WHERE子句中的关键字,用来提示检索满意全体给定条件的行。
本条事例只包罗三个AND子句,由此最多有多个过滤条件。能够扩展多个过滤条件,每一种条件间都要利用AND关键字。
说明:没有ORDER BY子句
为了节约空间,也为了减小你的输入,小编在大多例子里大约了OXC90DER
BY子句。由此,你的输出完全有非常大希望与书上的出口差别等。固然重返行的数码接二连三对的,但它们的逐条只怕两样。当然,固然你愿意也得以加上3个O福睿斯DER
BY子句,它应有投身WHERE子句之后。
2.OR操作符SELECT
vend_id,prod_price,prod_name FROM Products WHERE
vend_id=’DLL01′ OR
vend_id=’BRS01′

此SQL语句检索由任一个点名供应商创制的兼具成品的产品名和价格。O宝马X5操作符告诉DBMS相配任一条件而不是还要包容七个尺码。 

4503.com 1

三.求值千家万户(AND
O本田CR-V)

输入:

SELECT
prod_name, prod_price FROM Products 

WHERE
vend_id = ‘DLL01’ OR vend_id = ‘BRS01’ AND prod_price >=
10

输出:

4503.com 2

标题:请看上面包车型客车结果。重返的行中有**4行价格小于10**英镑,鲜明,重临的行未按预想的拓展过滤。为啥会那样呢?由来在于求值的顺序。SQL(像繁多言语同样)在拍卖OPAJERO操作符前,优先管理AND操作符。当SQL看到上述WHERE子句时,它知道为:由供应商B纳瓦拉S01创造的价位为十美元以上的具备成品,以及由供应商DLL0壹创建的全部产品,而不管其标价怎么。换句话说,由于AND在求值进度中先行级越来越高,操作符被张冠李戴地结合了。

化解办法:

SELECT prod_name, prod_price FROM Products 

WHERE (vend_id =
‘DLL01’ OR vend_id = ‘BRS01’) AND
prod_price >= 10

其实假如用括号括起来就好了

唤醒:在WHERE子句中运用圆括号
其余时候利用具备AND和O瑞虎操作符的WHERE子句,都应当使用圆括号明确地分组操作符。不要过分依赖默许求值顺序,固然它真的如您愿意的那样。使用圆括号没有怎么坏处,它能清除歧义。

4.IN操作符

输入:

SELECT
vend_id,prod_name,prod_price FROM Products
WHERE
vend_id IN (‘DLL01′,’BRS01’)
ORDER
BY prod_name

输出:

4503.com 3

为啥要运用IN操作符?其优点为:

  • 在有不少法定选项时,IN操作符的语法更明亮,更加直观。
  • 在与任何AND和O奥迪Q5操作符组合使用IN时,求值顺序更便于管理。
  • IN操作符一般比壹组O本田UR-V操作符试行得越来越快(在上头那些合法选项很少的例证中,你看不出质量差距)。
  • IN的最大优点是足以分包其余SELECT语句,能够改造态地建构WHERE子句。第三一课会对此进行详细介绍。

IN
WHERE子句中用来钦点要相配值的清单的首要性字,功用与OSportage极度。

5.NOT操作符

SELECT
prod_name FROM Products
WHERE NOT
vend_id = ‘DLL01’
ORDER
BY prod_name;

为啥使用NOT?对于这里的这种简易的WHERE子句,使用NOT确实并未有啥样优势。但在更错综复杂的子句中,NOT是不行政管理用的。譬如,在与IN操作符联合利用时,NOT能够格外轻易地寻觅与规范列表不包容的行。

作者:今孝
出处:
本文版权归小编和天涯论坛共有,迎接转发,但未经作者同意必须保留此段注解,且在篇章页面显然地方给出原作连接。

以为好就点个推荐把!

3、高等数据过滤

1.AND操作符SELECT
prod_id,prod_price,prod_name FROM Products WHERE
vend_id=’DLL01′ AND prod_price <=4

此SQL语句检索由供应商DLL01创造且价格低于等于4欧元的保有成品的名目和价格。那条SELECT语句中的WHERE子句包蕴三个标准,用AND关键字联结在一起。AND提醒DBMS只回去知足全体给定条件的行。假若有个别产品由供应商DLL0一创建,但价格超越四比索,则不检索它。

AND
用在WHERE子句中的关键字,用来提醒检索满意全体给定条件的行。
本条例子只包含三个AND子句,因而最多有三个过滤条件。能够追加三个过滤条件,种种条件间都要运用AND关键字。
说明:没有ORDER BY子句
为了节省空间,也为了削减你的输入,作者在数不完例证里大概了O瑞鹰DER
BY子句。因而,你的输出完全有极大希望与书上的出口不雷同。就算再次来到行的多少一连对的,但它们的相继恐怕两样。当然,要是你愿意也能够拉长多少个O凯雷德DER
BY子句,它应当投身WHERE子句之后。
2.OR操作符SELECT vend_id,prod_price,prod_name
FROM Products WHERE vend_id=’DLL01′ OR
vend_id=’BRS01′

此SQL语句检索由任2个内定供应商创造的有所产品的产品名和价格。O卡宴操作符告诉DBMS相称任一条件而不是同时合作三个典型。 

4503.com 4

叁.求值一一(AND
O凯雷德)

输入:

SELECT prod_name, prod_price FROM Products 

WHERE vend_id = ‘DLL01’ OR vend_id = ‘BRS01’ AND
prod_price >= 10

输出:

4503.com 5

标题:请看上边的结果。重返的行中有**4行价格低于10**比索,明显,重返的行未按预期的开始展览过滤。为何会那样吧?缘由在于求值的顺序。SQL(像许多语言一样)在管理O帕杰罗操作符前,优先管理AND操作符。当SQL看到上述WHERE子句时,它精通为:由供应商BOdysseyS0一创建的价位为拾韩元以上的有所产品,以及由供应商DLL0壹创造的有着产品,而不管其价格怎么样。换句话说,由于AND在求值进度中先期级更高,操作符被指鹿为马地结合了。

杀鸡取蛋办法:

SELECT prod_name, prod_price FROM Products 

WHERE (vend_id = ‘DLL01’ OR vend_id = ‘BRS01’) AND prod_price >=
10

实则只要用括号括起来就好了

提醒:在WHERE子句中动用圆括号
别的时候利用具有AND和O奥迪Q7操作符的WHERE子句,都应有选用圆括号明显地分组操作符。不要过度重视私下认可求值顺序,即便它的确如你指望的那么。使用圆括号未有何坏处,它能排除歧义。

4.IN操作符

输入:

SELECT vend_id,prod_name,prod_price FROM Products
WHERE vend_id IN (‘DLL01′,’BRS01’)
ORDER BY prod_name

输出:

4503.com 6

干什么要选取IN操作符?其亮点为:

  • 在有不计其数合法选项时,IN操作符的语法更明了,越来越直观。
  • 在与别的AND和O昂科拉操作符组合使用IN时,求值顺序更易于管理。
  • IN操作符一般比壹组O本田UR-V操作符实行得更加快(在地方那几个合法选项很少的事例中,你看不出品质差别)。
  • IN的最大亮点是足以涵盖其余SELECT语句,能够改造态地创立WHERE子句。第三1课会对此张开详细介绍。

IN
WHERE子句中用来内定要匹配值的清单的重视字,效率与OLX570格外。

5.NOT操作符

SELECT prod_name FROM Products
WHERE NOT vend_id = ‘DLL01’
ORDER BY prod_name;

为啥选择NOT?对于这里的这种简易的WHERE子句,使用NOT确实并未有什么样优势。但在更复杂的子句中,NOT是11分实用的。举个例子,在与IN操作符联合使用时,NOT能够分外轻巧地寻找与原则列表不匹配的行。

 

壹、排序检索数据 一.排序数据
: SELECT prod_name FROM Products ORDER BY prod_name
(对prod_name列以字母逐1排序数据) O卡宴DE宝马X3 BY子…

二、过滤数据

1.where语句SELECT
prod_name,prod_price FROM Products WHERE
prod_price=3.49

警戒:WHERE子句的职分
在同时采纳O奇骏DE汉兰达 BY和WHERE子句时,应该让OLANDDER
BY位于WHERE从此,不然将会生出错误。例如:SELECT prod_name,prod_price FROM
Products WHERE prod_price=3.49 ORDER BY prod_name
ASC

4503.com 7

 

2.检查单个值:SELECT
prod_name,prod_price FROM Products WHERE prod_price < 0

叁.不相配检查:SELECT
vend_id,prod_name FROM Products WHERE vend_id <>’DLL01′

4.范围值检查:SELECT
prod_name,prod_price FROM Products WHERE prod_price BETWEEN 5 AND
10

5.空值检查: SELECT cust_name
FROM customers WHERE cust_email IS NULL

SQL必知必会,SQL必知