mysql-连接

来源:互联网 发布:mysql 转unix时间戳 编辑:程序博客网 时间:2024/05/22 21:41


1、外连接-左连接、右连接、全连接

左连接-left join on:
1、左表中连接字段的某行在右表中的该字段内没有内容,则结果中该行右表的内容为空
2、结果集中字段是左右表的字段之和
3、结果集中包含左表连接字段所有的值,但不等于左表连接字段的值


右连接-right join on:规则和左连接一样


全连接-full join on:
1、结果集中字段是左右表的字段之和
2、结果集条数是左连接和右连接的和
3、在MySQL中没有全连接,但是可以用left join 、right join 、union all来实现全连接



2、内连接:join on
1、结果集中字段是左右表的字段之和
2、结果集等于左、右连接结果集去掉了为空字段记录


其结果等同于:select * from stest ,sctest where stest.sid=sctest.sid


3、交叉连接:cross join

交叉连接得到的结果集是笛卡尔积(count(表1)*count(表2))


其结果等同于:select * from stest ,sctest


例子:

1、统计每个学生选修的课程数


2、统计每门课程的学生数



0 0