必赢365net手机版:MySQL必知必会之数据过滤,数据过滤

数码过滤-WHERE组合子句

本章讲授怎样整合WHERE子句以树立职能更加强的越来越高等的查找条件。
大家还将学习怎么样运用NOT和IN操作符。

表名:products

1.组合WHERE子句

上一章介绍的WHERE子句在过滤数据时选取的都是纯净条件过滤。事实上为了多少的准头大家还是可以利用多少个规格实行过滤,能够选拔AND子句只怕OOdyssey子句的不二秘诀来成功。

📖 操作符(operator)

用来统一或转移WHERE子句中的子句的重要字。也叫做逻辑运算符。

字段:product_id、product_name、product_price、vend_id(供应商)

1.1 AND操作符

上面包车型大巴那几个例子是应用AND操作符来给WHERE子句附加条件。

输入 :

SELECT  uid, week, minute 
FROM    products
WHERE  week = 1  AND  minute = 22

输出:
必赢365net手机版 1

分析:此SQL语句检索week为1同时minute为22数额。

 AND 用在WHERE子句中的关键字,用来提醒检索满意全部给定的尺码的行。

上述例子中选择了只包涵多少个首要字AND的言语,把五个过滤条件构成在同步。==仍是可以够添扩展个过滤条件,每增加一条将要接纳一个AND.==

为了提供越来越强的过滤调控,MySQL允许给出多少个WHERE子句,这个子句能够以:AND子句和O福特Explorer子句的秘技使用。

1.2 OR操作符

OCR-V操作符和AND操作符分裂,他提醒MSQL检索相称任一条件的行。
输入:

SELECT  uid, week, minute 
FROM    products
WHERE  week = 1  OR  minute = 22

解析:检索week为1或许minute为22的数码。满足一个条件就可以。

注:操作符(operator)用来归并或改换WHERE子句中的子句的主要字,也成逻辑操作符(logical
operator)

1.3 总计次序

SQL在处理O奇骏操作前优先管理AND操作符。
解决方法就是应用()

输入:

SELECR prod_name,pro_price
FROM producets
WHERE wend_id = 1002 OR vand_id = 1003 AND prod_price >= 10;

改成:

SELECR prod_name,pro_price
FROM producets
WHERE (wend_id = 1002 OR vand_id = 1003) AND prod_price >= 10;

分析:

那条SELECT 语句
与前条的独一差距是,那条语句中,前四个标准化用圆括号括起来。因为圆括号具备较AND或OTiguan操作符高的总计次序,DBMS首先过滤圆括号内的O奥迪Q3条件。

操作符都以在WHERE前面包车型大巴第一字

在WHERE子句中利用圆括号

其他时候使用全数AND和OGL450操作符的WHERE语句,都应有采用过圆括号确定的分组操作操作符。不要过分信赖暗许计算次序,就算它的确是你想要的事物也是如此

必赢365net手机版,1.AND操作符:

1.4 IN操作符

IN操作符用来钦点条件限制,范围中的各个条件都得以拓宽相配。IN取合法值的由逗号分隔的清单,全体在圆括号中。

输入:

 SELECT prod_name , prod_price
 FROM products
 WHERE vend_id IN (1002,1003)
 ORDER BY prod_name

输出:

必赢365net手机版 2

分析:

此SELECT语句检索承包商1002和1003创立的保有成品。IN操作符后跟又逗号分隔的官方值清单,整个清单必需扩在圆括号内。

⭐️ IN操作符和OPAJERO功能雷同,但IN操作符比OGL450操作符推行更加快

OR写法:

 SELECT prod_name , prod_price
 FROM products
 WHERE vend_id = 1002  OR vend_id =1003
 ORDER BY prod_name

追寻零售商id为1003且价格在5到10以内的产品名称

IN操作符优点:
  1. 在利用长的合法选项清单的时,IN操作符的语法更明亮且更加直观。
  2. 在选用 IN时,总括的程序更易于管理(因为使用的操作符更少)。

  3. IN 操作符平时比OENCORE操作符清单施行更加快。

  4. IN 的最大的亮点是能够分包其余SEKECT语句,使的能够更换态的创建 WHERE
    语句。

SELECT product_name FROM products WHERE vend_id = 1003 AND product_price BETWEEN 5 AND 10

1.5 NOT操作符

NOT操作符有且唯有一个职能,那正是或不是认它之后所跟的别的条件。

 NOT WHERE子句中用来否认后跟条件的首要性字。

使用:

列出除1002和1003之外的富有中间商成立的成品。

输入:

SELECT prod_name , prod_price
FROM products
WHERE vend_id  NOT  IN  (1002,1003)
ORDER BY prod_name;

分析: 这里的NOT 否定跟在它今后的法规,因而,MySQL不是合营1002和1003
的vendi_id,而是相配 1002和1003 之外代理商的vend_id.

✏️ MySQL 中的NOT

MySQL扶植选用 NOT 对 IN 、 BETWEEN 和 EXISTS
子句取反,那与多数别样DBMS允许行使NOT对各样标准取反有相当的大的间隔。

注:AND:用于WHERE子句的基本点字,用来提示检索知足全数给定条件的行。五个并列条件间接选举拔AND。

小结

本章教学如何用AND和O汉兰达操作符组合成WHERE子句,何况还教师了如
何明确地管理总括的程序,怎么着选拔IN和NOT操作符。

2.OR操作符:

招来经销商id为壹仟或1003的产品名称

SELECT product_name FROM products WHERE vend_id = 1000 OR vend_id = 1003

注:O君越:用于WHERE子句的严重性字,用来搜索相称任一条件的行。

3.测算次序:

AND比O福睿斯操作符的计算次序高,相当于说同一时候现身AND和O君越时,会先行管理AND与其相应的尺度。 
能够透过()来调动优先级。 
追寻承包商id为一千或1003且产品价格大于10.0的产品名称。

SELECT product_name FROM products WHERE (vend_id = 1000 OR vend_id = 1003) AND produce_price >=1000

注:注意幸免总括次序带来的影响,使用()来拍卖优先次序。

4.IN操作符:

IN操作符用于钦点条件限制,使用()来界定范围

SELECT product_name FROM products WHERE vend_id IN (1000,1003) ORDER BY product_id

注:IN的优点: 
在使用合法选项清单时,IN操作符的语法更明显且更加直观。 
在运用IN时,总括的程序更易于管理(操作符少)。 
IN操作符日常比O奇骏操作qing清单试行的快。 
IN能够包蕴别的SELECT语句,能改动态建构WHERE语句。

5.NOT操作符:

有且独有二个效果否定前边所跟的另外条件 
寻找除了经销商id为一千与1003的装有产品名称

SELECT product_name FROM products WHERE vend_id NOT IN(1000,1003)

总结:

为啥使用NOT: 
复杂的言语中NOT极度实用。 
MySQL扶植选取NOT对IN、BETWEEN和EXIST子句取反,

 

 

 

 

Leave a Comment.