Mysql练习题13.1

Mysql练习题13.1

关注公众号回复:’‘11.15’'查看完整内容

创建学生表(学号,姓名,性别,年龄,专业),并插入一些数据

创建课程表(课程号,课程名),插入部门数据

创建选修表(学号、课程号,成绩),插入部分数据。完成如下查询:

首先创建数据库建立三个表

mysql> create table students(
    -> id int(3),
    -> name varchar(20),
    -> sex varchar(10),
    -> age int(3),
    -> major varchar(30)
    -> );
mysql> create table kecheng(
    -> kcid int(3),
    -> kcname varchar(30)
    -> );
mysql> create table xianxiu(
    -> id int(3),
    -> kcid int(3),
    -> result int(3)
    -> );

添加数据

 insert into students(id,name,sex,age,major)
    -> values(1,'张三','男',18,'经济'),
    -> (2,'张四','男',19,'金融'),
    -> (3,'张五','男',18,'法学'),
    -> (4,'张六','女',18,'数学'),
    -> (5,'李四','女',18,'数学'),
    -> (6,'李五','女',20,'金融'),
	-> (7,'王五','男',18,'地理');
	
insert into kecheng(kcid,kcname)
    -> values(1,'食品加工'),
    -> (2,'机械加工'),
    -> (3,'计算机组装'),
    -> (4,'哲学'),
    -> (5,'刑法学');

insert into xianxiu(id,kcid,result)
    -> values(1,2,99),
    -> (2,2,98),
    -> (3,1,97),
    -> (4,3,99),
    -> (5,4,99),
    -> (6,null,null),
    -> (7,null,null);

1、 查询选课的学生信息及其所选的课程信息

select students.*,kecheng.* from students join kecheng join xianxiu on kecheng.kcid=xianxiu.kcid and students.id=xianxiu.id;

2.查询选课的学生信息及其所选的课程信息和未选课的学生信息

>select students.*,kecheng.* from students left join xianxiu on students.id=xianxiu.id left join kecheng on xianxiu.kcid=kecheng.kcid

3.选课的学生信息及其所选的课程信息和没有学生选择的课程

>select students.*,kecheng.* from students right join xianxiu on students.id=xianxiu.id right join kecheng on xianxiu.kcid=kecheng.kcid;

4.查询2、3步骤中的全部信息

>select students.*,kecheng.* from students left join xianxiu on students.id=xianxiu.id left join kecheng on xianxiu.kcid=kecheng.kcid
>union
>select students.*,kecheng.* from students right join xianxiu on students.id=xianxiu.id right join kecheng on xianxiu.kcid=kecheng.kcid;

5、 查询课程号为1的课程信息及选该课程的学生学号

elect kecheng.kcid,kecheng.kcname,students.id from students join kecheng join xianxiu on kecheng.kcid=xianxiu.kcid and students.id=xianxiu.id where xianxiu.kcid=1;

猜你喜欢

转载自blog.csdn.net/m0_46653702/article/details/109703826