MySQL使用WHERE子句设置查询条件

WHERE子句设置查询条件,过滤掉不需要的数据行。

       例如下面语句查询年龄大于10的数据:

SELECT * FROM student WHERE age>10

       WHERE子句可包括各种条件运算符:

运算符 表示形式
比较运算符(大小比较) >、>=、=、<、<=、<>、!>、!<
范围运算符(表达式值是否在指定的范围) BETWEEN…AND… / NOT BETWEEN…AND…
列表运算符(判断表达式是否为列表中的指定项) IN (项1,项2……) / NOT IN (项1,项2……)
模式匹配符(判断值是否与指定的字符通配格式相符) LIKE、NOT LIKE
空值判断符(判断表达式是否为空) IS NULL、NOT IS NULL
逻辑运算符(用于多条件的逻辑连接) NOT、AND、OR

       举例如下:

1、范围运算符例:

age BETWEEN 18 AND 25相当于age>=18 AND age<=25

2、列表运算符例:

country IN ('American','China')

3、模式匹配符例:常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。可用于char、varchar、text、ntext、datetime和smalldatetime等类型查询。
可使用以下通配字符:

  • %:可匹配任意类型和长度的字符,如果是中文,请使用两个百分号,即%%。
  • _:匹配单个任意字符,它常用来限制表达式的字符长度。
  • []:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
  • [^]:其取值也[] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
           例如:
                  限制以Publishing结尾,使用LIKE ‘%Publishing’
                  限制以A开头:LIKE ‘[A]%’
                  限制以A开头外:LIKE ‘[^A]%’
    4、空值判断符例:
WHERE age IS NULL

5、逻辑运算符:

       优先级为NOT、AND、OR

发布了53 篇原创文章 · 获赞 191 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_42881768/article/details/104727237