哈罗,各位小伙伴大家好,又见面了,我还是那个不吃饱不干活的小尘,欢迎来到本期的SQL语言之条件查询测试题讲解部分,让我们一起进入知识的海洋吧~
上节课讲的内容有点多,忘记的小伙伴记得多回顾哦~
第六章、SQL语言学习(条件查询) 超硬核!!!_m0_55746113的博客-CSDN博客https://blog.csdn.net/m0_55746113/article/details/120614516?spm=1001.2014.3001.5502接下来,咱们做几道简单的练习题来巩固一下上节的内容,那么,开始吧。
查询没有奖金,且工资小于18000的salary ,last_name
小技巧:
1)要查询什么,就在SELECT后面些什么。
2)“的”后面就是 我们要查询的东西。
3)查询的是什么表,就在FROM后面写什么。
4)WHERE后面写的是条件。
代码:
#查询没有奖金,且工资小于18000的salary ,last_name select salary, last_name from employees where commission_pct is Null and salary <18000
执行结果:
部分解析:
查询employees表中,job_id不为“IT”或者工资为12000的员工信息
小技巧:
1)要查的是员工信息,是针对所有员工的,所以要用*来查询所有员工
2)FROM后面是表名,即:employees
3)WHERE后面写限制条件
代码:
SELECT * FROM employees WHERE job_id<>'IT' OR salary=12000;
执行结果:
部分解析:
查看部门departments表的结构
这个比较简单
代码:
DESC departments;
执行结果:
查询部门departments表中涉及到了哪些位置编号。
代码:
SELECT DISTINCT location_id FROM departments;
执行结果:
部分地方说明:
试问:
select * from employees ; 和select * from employees where commission_pct like "%%" and last_name like "%%";结果是否一样?并说明原因。
解答:
不一样!
如果判断的字段有NULL的情况,那么结果就不一样。
如果没有NULL值,那就一样。
我们知道,奖金commission_pct有的是NULL,所以不一样。
我们可以看一看执行结果:
第一个:
第二个:
但如果我们把第二个代码改成这样:
将所有字段都写上,用OR连接。
因为总归有一个字段是不为OR的,所以此时两个代码执行结果就是一样的了。
代码:
select * from employees where commission_pct like '%%' or last_name like '%%' or `employee_id` like '%%' or `first_name` like '%%' or `email` like '%%' or `phone_number` like '%%' or `job_id` like '%%' or `salary` like '%%' or `manager_id` like '%%' or `department_id` like '%%' or `hiredate` like '%%' ;
执行结果:
好啦,今天的分享就到这儿了,不知道小伙伴们做的怎么样呢?
欢迎评论留言,咱们下次再见~