1.内连接:查询结果中仅包含满足条件的结果
#查询每个学生的选修课情况
SELECT a.*,b.*
from student a, sc b
where a.学号 = b.`学号`;
#查询每个学生的部分情况
SELECT student.学号,姓名,性别,`课程号`,`成绩`
from student , sc
where student.学号 = sc.`学号`;
#查询每个女生的部分情况
SELECT student.学号,姓名,性别,`课程号`,`成绩`
from student , sc
where student.学号 = sc.`学号`and 性别 ='女';
2.外连接:查询结果中包括满足条件的行和表的全部行
左外连接(左边的表不限制)右外连接 全外连接
from <表名1> left|right|full join<表名2>
on <表名1.列1>=<表名2.列2>
#查询每个学生的选课信息,即使未选课,也要包括基本信息
select student.*,课程号
from student left join sc
on student.学号 = sc.`学号`;
#查询被选修的课程信息和所有的课程名称
select sc.*,课程名称
from sc right join course
on course.`课程号`=sc.`课程号`;
3.交叉连接:两个表之间做笛卡尔积
#将sc和course进行交叉连接
select a.*,b.*
from course a,sc b;
4.自连接:一张表中的不同行连接起来
#将sc和course进行交叉连接
select a.*,b.*
from course a,sc b;