前言
DQL语句是数据查询语句,用来查询数据库中表的记录。而这种查询数据的操作不会对数据库中的数据进行修改,只是将数据显示出来。利用创建好的em表完成查询操作。
基本查询
语法格式
select 字段,字段 from 表名; #查询指定列的数据
select * from 表名; #查询所有字段
效果演示
查询post-职位和name-姓名字段,显示对应列的数据。而用*代替字段名称则会出现整张表的数据。在查询字段的后面加入as关键字,即可设置别名,使用别名作为查询出来的新列名。在查询字段前加入distinct关键字,即可实现对选出字段的数据去重(如果选出两个字段,其中只有一个字段的数据重复,则也不进行去重,必须两字段同时有重复)。
条件查询
条件查询,即按照一定的条件进行数据查询,如查找姓名为xxx,员工号为xxx的相关信息。这里条件有很多,意味着查询条件相对灵活,也就可以搭配一些sql函数(作用于单个字段),实现更多功能。
语法格式
select 字段 from 表名 where 条件列表; #条件查询
效果演示
查询员工号大于等于3的员工号和员工姓名字段。值得一提的是查询场景的不同所应用的条件列表也有所不同。where后面可以有比较运算符,逻辑运算符,in关键字(in中的每个数据都会作为条件,满足条件会显示),between and(范围查询),like(模糊查询)。
分组查询
语法格式
select 字段 from 表名 where 条件 group by 分组字段 having 分组条件
group by 是分组的关键,这里应用的场景有查询部门的部门编号和工资和、人数和(不免有相同部门编号的员工,此时需要用到聚类函数,再分组)。而having子句是对分组后的数据进行过滤,having子句后面可以使用聚类函数。与where有所不同,where是对分组前的数据进行过滤,且不能使用聚类函数。
效果演示
排序查询
排序查询,即按照升序和降序排列指定的字段。应用的场景为查询员工薪资收入,从大到小排序。入职日期的升降序排列。多个字段排列要选用逗号隔开,代表前一个字段按x排序,如果前一个字段相同,那么后一个字段按照x排序。
语法格式
select 字段 from 表名 order by 字段1 排列方式,字段2 排列方式; #asc 升序 desc 降序
效果演示
选择员工号升序排列,如果员工号相同情况下,薪水降序排列。而不是排序的两个字段各排各的。要在满足第一个字段排序情况的条件下,在排序第二个。
最后
以上就是对DQL语句的简要介绍。