主知识点二:where
【知识点引入】
我们来认识第三个子句where,where子句写在from之后
【标准语法】
select 字段名 from 表格名 where 条件代码
【语法解释】
where 条件代码 表明从数据库表中选取满足条件的数据
where子句主要用来进行数据的筛选,从表格中筛选出符合条件的行数据
接下来让我们来快速应用where子句吧~
【例题讲解】
【运算符】
条件代码中最常用的是运算符。
先来看这个表格,比较运算符,用于判断表中的哪些数据符合条件,and、or和not为逻辑运算符,not一般和与其他连用例如not in等。
and 和 or 可以把两个或多个条件结合起来。若and连接的两个条件对于该数据都成立,就显示该数据,若or连接的两个条件对于该数据只要有一个成立,就显示该数据,否则就筛除该数据。
点击链接SELECT from WORLD Tutorial - SQLZOO第三题
【模糊查询like】
条件代码中除了使用运算符来进行条件判断,还可以使用like操作符组合通配符进行模糊查询
【多条件查询】
- 前面我们已经学会使用运算符和like加通配符进行查询啦,我们还可以使用and或者or逻辑运算符对多个条件进行组合筛选我们想要的数据
- 点击链接SELECT from Nobel Tutorial - SQLZOO第八题
- 【题目】
- 从nobel表中查询1980年物理奖获得者和1984年化学奖获得者的年份(yr),学科(subject)和获奖者姓名(winner)
- 这一题是从一张名为nobel的数据库表中查询数据,输入代码select * from nobel可以查看一下这张表
- 这张表有三个字段,分别是年份yr,学科subject,获奖者姓名winner,记录的是获得诺贝尔奖的获奖相关信息
- 再看题目,查询1980年物理奖获得者和1984年化学奖获得者,翻译成可以写成代码的话就是同时满足年份yr是1980年且学科subject是物理physics或者同时满足年份yr是1984年且学科subject是化学chemistry的获奖者,"同时"满足用逻辑运算符and,"或者"用逻辑运算符or
- 写出代码where (subject = 'Physics' and yr = 1980) or (subject = 'Chemistry' and yr = 1984)
- 逻辑是同时满足两个条件或者同时满足另两个条件所以or前后两个条件部分需要加括号
- 运行代码,得到正确结果
- select yr,subject,winner
- from nobel
- where (subject = 'Physics' and yr = 1980) or (subject = 'Chemistry' and yr = 1984)
- 【题目】
【总结】
标准语法
- select 字段名
- from 表格名
- where 条件代码
运算符查询语法
- select 字段名
- from 表名称
- where 字段名 运算符 值
模糊查询语法
- select 字段名
- from 表名称
- where 字段名 like '通配符+字符'
使用多条件查询
- select 字段名
- from 表名称
- where 条件代码1 and|or 条件代码2
运算符
通配符
【练习题】
【1】SELECT from WORLD Tutorial - SQLZOO第四题
【2】SELECT from Nobel Tutorial - SQLZOO第九题