mysql学习笔记3

美妙的数据库训练和冒险开始啦,冲鸭!2333!

time order:

利用sql语句查询try库中的student,c,sc:

 

 

 

学生表信息如下:

 

 

 

 

课程表信息如下:

 

 

 

 

 

学习表信息如下:

 

 

 

 

 

 

1.两个表的笛卡尔积运算

 

 

1 select student.*,sc.* from student,sc;/*查询每个学生及其选修课程的情况,做笛卡尔积*/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.两个表的等值连接

 

 

 

 

 

 

 

 

 

3.自然连接

 

 

 

 

 

 

 

 

 

4.复杂的连接查询

 

(1)

 

/*查询选修2号课程且成绩在95分以上的学生学号,姓名及成绩*/
select student.sno,sname,grade
from student,sc
where student.sno=sc.sno
and sc.cno='2'
and sc.grade>95;

 

 

 

 

 

 

 

 

 

 

 

 

(2)

 

一上来就出现了一个bug2333:

 

 

 

 

 

 

 

 

/*查询选修了数据库课程的学生的姓名和成绩*/
select  sname,grade
from student,sc,c
where student.sno=sc.sno
and sc.cno=c.cno
and cname='数据库';

 

  

 

 

实现了多张表的连接查询!

 

 

 

 

 

 

 

(3)

 

先写一个小实验:

 

关于group by子句的:

 

 

 

 

 

 

 

进阶版:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-03-10 12:22  龙龙666666  阅读(191)  评论(1编辑  收藏  举报