单表查询和多表查询

练习1

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql


1、显示所有职工的基本信息。

2、查询所有职工所属部门的部门号,不显示重复的部门号。

3、求出所有职工的人数。

4、列出最高工和最低工资。

5、列出职工的平均工资和总工资。

6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。7显示所有女职工的年龄。

8、列出所有姓刘的职工的职工号、姓名和出生日期。

9、列出1960年以前出生的职工的姓名、参加工作日期。

10、列出工资在1000-2000之间的所有职工姓名。

创建worker表

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql_02


插入数据

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_单表查询_03


1、显示所有职工的基本信息。

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_多表查询_04


2、查询所有职工所属部门的部门号,不显示重复的部门号。

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql_05


3、求出所有职工的人数

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_多表查询_06


4、列出最高工和最低工资。

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_多表查询_07


5、列出职工的平均工资和总工资。

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_多表查询_08


6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。7显示所有女职工的年龄。

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_插入数据_09

9、列出1960年以前出生的职工的姓名、参加工作日期。10、列出工资在1000-2000之间的所有职工姓名。

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_单表查询_10


10.列出工资在1000-2000之间的所有职工姓名

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql_11


多表查询1

3.查询student表的所有记录

4.查询student表的第2条到4条记录

5.从student表查询所有学生的学号(id) 姓名(name)和院系(department)的信息

6.从student表中查询计算机系和英语系的学生的信息7从student表中查询年龄18~22岁的学生信息

8.从student表中查询每个院系有多少人

9.从score表中查询每个科目的最高分

10.查询李四的考试科目(c_name)和考试成绩(grade)11.用连接的方式查询所有学生的信息和考试信息12.算每个学生的总成绩

13.计算每个考试科目的平均成绩

14.查询计算机成绩低于95的学生信息

15.查询同时参加计算机和英语考试的学生的信息16.将计算机考试成绩按从高到低进行排序

17.从student表和score表中查询出学生的学号,然后合并查询结果18查询姓张或者姓王的同学的姓名、院系和考试科目及成绩19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩1.创建student和score表

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql_12


2.为student表和score表增加记录

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_多表查询_13


向score表插入记录的INSERT语句如下:

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql_14


3.查询student表的所有记录

select * from student;

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_多表查询_15


4.查询student表的第2条到4条记录

select * from student where id>=902 and id<=904;

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql_16


5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_插入数据_17


6.从student表中查询计算机系和英语系的学生的信息

select * from student where department=‘计算机系’ or department=‘英语系’;

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_多表查询_18


7.从student表中查询年龄18~22岁的学生信息

select * from student where birth>=1998 and birth<=2002;

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_单表查询_19


8.从student表中查询每个院系有多少人

select department,count(*) from student group by department;

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql_20


9.从score表中查询每个科目的最高分

select c_name,max(grade) from score group by c_name;

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_插入数据_21


10.查询李四的考试科目(c_name)和考试成绩(grade)

select li.name as name,si.c_name as c_name,si.grade as grade from student as li join score as si on(li.id = si.stu_id)where name =‘李四’;

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_单表查询_22


11.用连接的方式查询所有学生的信息和考试信息

select * from student as stu join score as sc on(stu.id=sc.stu_id);

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_多表查询_23


12.计算每个学生的总成绩

select student.id as id,name,sum(grade) from student,score where student.id = score.stu_id group by id;

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql_24


13.计算每个考试科目的平均成绩

select c_name,avg(grade) from score group by c_name;

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_mysql_25


14.查询计算机成绩低于95的学生信息

select * from student where id in(select stu_id from score where c_name=‘计算机’ and grade<95);

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_单表查询_26


15.查询同时参加计算机和英语考试的学生的信息

SELECT * FROM student WHERE id =ANY(SELECT stu_id FROM score WHERE stu_id IN (SELECT stu_id FROM score WHERE c_name=‘计算机’) AND c_name=‘英语’);

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_单表查询_27

16.将计算机考试成绩按从高到低进行排序
SELECT stu_id, grade FROM score WHERE c_name= ‘计算机’ ORDER BY grade DESC;

17.从student表和score表中查询出学生的学号,然后合并查询结果
select id from student union select stu_id from score;

18.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩
SELECT student.id, name,sex,birth,department, address, c_name,grade FROM student, score WHERE(name LIKE ‘张%’ OR name LIKE ‘王%’)AND student.id=score.stu_id ;

19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩

mysql 查询一个学生一个月的考勤记录 mysql查询每个系的学生人数_插入数据_28