MySQL之表的连接查询

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值