mysql不使用join实现多表查询_mysql不使用join实现多表查询 连接查询:

mysql不使用join实现多表查询_字段_02 内连接查询:

 

mysql不使用join实现多表查询_mysql_03 外连接查询

 

mysql不使用join实现多表查询_字段_04 多表连接:

mysql不使用join实现多表查询_结果集_05 使用表的别名:

mysql不使用join实现多表查询_mysql_06 Select * from cjgl.student as stuinfo

mysql不使用join实现多表查询_连接查询_07 命名列

mysql不使用join实现多表查询_结果集_08 在多表联接中,如果表拥有相同的字段名,则在指定字段时,必须包含表名。

mysql不使用join实现多表查询_字段_09 组合多个表中的数据

mysql不使用join实现多表查询_字段_10 联接概述

mysql不使用join实现多表查询_连接查询_11 从多个表中选择指定的字段

mysql不使用join实现多表查询_mysql_12 表1 inner join 表2 on 联接条件

mysql不使用join实现多表查询_mysql不使用join实现多表查询_13 查询两个或多个表并生成单个结果集

mysql不使用join实现多表查询_mysql_14 基于表的主键和外键,指定联接的条件

mysql不使用join实现多表查询_连接查询_15 如果表中有组合主键,联接表时,必须有on引用该键

mysql不使用join实现多表查询_字段_16 联接的表必须有共同的某些字段并且数据类型兼容

mysql不使用join实现多表查询_结果集_17 使用内联接

mysql不使用join实现多表查询_字段_18 通过比较被联接的表所拥有的字段,把多个表联接起来

mysql不使用join实现多表查询_mysql_19 可以使用where来限制结果集要返回的记录

mysql不使用join实现多表查询_结果集_20 联接条件不能使用空值

mysql不使用join实现多表查询_结果集_21 使用外联接

mysql不使用join实现多表查询_连接查询_22 外连接可以从两个表中返回符合联接条件的记录,同时也将返回左右两边不符合联接条件的记录

mysql不使用join实现多表查询_mysql不使用join实现多表查询_23 不满足联接条件的记录,

mysql不使用join实现多表查询_字段_24 左联接可以显示第一个表中的所有记录

mysql不使用join实现多表查询_连接查询_25 右联接可以显示第二个表的所有的记录

mysql不使用join实现多表查询_mysql_26 使用交叉联接

mysql不使用join实现多表查询_连接查询_27 联接两个以上的表

mysql不使用join实现多表查询_mysql_28 自联接

mysql不使用join实现多表查询_结果集_29 合并多个结果集

 

mysql不使用join实现多表查询_字段_30 推荐操作

 

 

 

 

 

 

 

 

1.查询学号,姓名,成绩,使用内连接

select sc.sno,sname,score from student inner join sc on student.sno=sc.sno

mysql不使用join实现多表查询_mysql不使用join实现多表查询_31

2.查询学号,姓名,课程名,成绩,使用内连接;再查询指定学号的如1006的上述信息

SELECT student.sno,sname,course.cname,score from student inner JOIN sc on student.sno=sc.sno inner join course on sc.cno=course.cno

mysql不使用join实现多表查询_字段_32

SELECT student.sno,sname,course.cname,score from student inner JOIN sc on student.sno=sc.sno inner join course on sc.cno=course.cno WHERE student.sno=1006

mysql不使用join实现多表查询_字段_33

3.查询学号,姓名,课程名,成绩,使用通用格式

select student.sno,sname,cname,score from student,sc,course where student.sno=sc.sno and sc.cno=course.cno

mysql不使用join实现多表查询_结果集_34

select student.sno,sname,cname,score from student,sc,course where student.sno=sc.sno and sc.cno=course.cno and sc.sno=1006

mysql不使用join实现多表查询_字段_35

4.查询课程号,课程名,教师名;分别使用左外和右外连接

select cno,cname,tname from course left outer join teacher on course.tno=teacher.tno

mysql不使用join实现多表查询_字段_36

select cno,cname,tname from course right outer join teacher on course.tno=teacher.tno

mysql不使用join实现多表查询_mysql不使用join实现多表查询_37

5.查询所有同学的学号、姓名、选课数、总成绩

SELECT student.sno,student.sname,count(sc.sno),sum(sc.score) from student inner join sc on student.sno=sc.sno GROUP BY sno

mysql不使用join实现多表查询_结果集_38

select sc.sno,sname,count(cno),sum(score) from student,sc where student.sno=sc.sno GROUP BY sno

6. 查询学过“李闵”老师课的同学的学号、姓名

select student.sno,sname from student,sc,course,teacher where student.sno=sc.sno and sc.cno=course.cno and course.tno=teacher.tno and teacher.tname='李闵'

mysql不使用join实现多表查询_mysql_39

mysql不使用join实现多表查询_mysql_40

7. 查询没有学过“李闵”老师课的同学的学号、姓名

select sno,sname from student where sno not in (select sno from sc where cno in (select cno from course where tno in(SELECT tno from teacher where tname='李闵')))

mysql不使用join实现多表查询_mysql不使用join实现多表查询_41

8. 查询学过“叶平”老师所教的所有课的同学的学号、姓名;

select student.sno,sname from student,sc,course,teacher where student.sno=sc.sno and sc.cno=course.cno and course.tno=teacher.tno and teacher.tname='叶平'

mysql不使用join实现多表查询_mysql_42

9. 查询总分排名在前四名的学生所有学号、姓名、所学各科成绩、总分等信息

SELECT student.sno,student.sname,GROUP_CONCAT(sc.score),sum(sc.score) from student inner join sc on student.sno=sc.sno GROUP BY sno ORDER BY sum(sc.score) desc LIMIT 4

mysql不使用join实现多表查询_连接查询_43