mysql练习

表的数据及内容:

 

 

 

 1、查询person表中男女的人数各有多少?

查询所用的命令为:select sex,count(sex) from person group by sex;

 

 2、查询work表,查询所有薪资,并将相同的薪资聚合到一起后将薪资从高到低排序;

查询所用的命令为:select salary,count(salary) from work group by salary order by salary desc;

 

3、查看所有的薪资,并判断其等级(为了美观将薪资相同的聚合到一起);

这里我们需要用到一个case  when a then b  when c then d  end,用来进行等级的判断,其中when a then b和when c then d为判断语句,这里为了看起来更加直观与简单,我们可以在查询的表中先增加一个字段,用来存放判断的结果。

 

4、查看work表中的所有内容,并将薪资相同的聚合到一起,然后过滤出来聚合结果大于1的;

 

 

 

 5、通过内连接查询姓名、工作类型、工作是否安全、学历和学校类型;

 

 

6、请写出插入和删除的SQL语句;

首先创建一个表,然后进行插入和删除;

插入:多条语句的插入和单条语句的插入;

删除:delete、drop、turncate。

 

 

 

 

 

7、请简述having和where的区别;

(1)首先创建一个表格;

 

 (2)把成绩为99.5的学生找出来用的命令是:select age,report,name from studentreport where report=99.5;这里我们用where。where体现的是一个查找的场景,主要用于锁定一个具体的位置。

 

 (2)把成绩大于80的学生找出来用的命令是:select age,report,name from studentreport having report>80;这里我们用having。having体现的是一个筛选的场景,主要用于锁定一个范围。

 

posted @ 2022-03-09 17:19  柒の夜  阅读(94)  评论(0编辑  收藏  举报