SQL中的多表查询 案例

社区服务
高级搜索
猴岛论坛电脑百科SQL中的多表查询 案例
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
3个回复

[资源分享]SQL中的多表查询 案例

楼层直达
尕丶鑫

ZxID:26667095

等级: 禁止发言
举报 只看楼主 使用道具 楼主   发表于: 2015-02-13 0
SQL中的多表查询 案例


表1:student 截图如下:
  表2:course 截图如下:
  (此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键。)
  一、外连接
  外连接可分为:左连接、右连接、完全外连接。
  1、左连接 left join 或 left outer join
  SQL语句:select * from student left join course on student.ID=course.ID
  执行结果:
  左外连接包含left join左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL).
  注:此时我们不能说结果的行数等于左表数据的行数。当然此处查询结果的行数等于左表数据的行数,因为左右两表此时为一对一关系。
  2、右连接 right join 或 right outer join
  SQL语句:select * from student right join course on student.ID=course.ID
  执行结果:
  右外连接包含right join右表所有行,如果左表中某行在右表没有匹配,则结果中对应左表的部分全部为空(NULL)。
  注:同样此时我们不能说结果的行数等于右表的行数。当然此处查询结果的行数等于左表数据的行数,因为左右两表此时为一对一关系。
  3、完全外连接 full join 或 full outer join
  SQL语句:select * from student full join course on student.ID=course.ID
  执行结果:
  完全外连接包含full join左右两表中所有的行,如果右表中某行在左表中没有匹配,则结果中对应行右表的部分全部为空(NULL),如果左表中某行在右表中没有匹配,则结果中对应行左表的部分全部为空(NULL)。
  二、内连接 join 或 inner join
  SQL语句:select * from student inner join course on student.ID=course.ID
  执行结果:
  inner join 是比较运算符,只返回符合条件的行。
  此时相当于:select * from student,course where student.ID=course.ID


本帖de评分: 1 条评分 DB +20
DB+20 2015-02-13

๓电脑技术有你更精彩๑

- 不懂浪漫゛

ZxID:16584776

等级: 元老

举报 只看该作者 沙发   发表于: 2015-02-13 0
看懂不
引用
qq10d06e

ZxID:59282677

等级: 禁止发言
举报 只看该作者 板凳   发表于: 2015-02-14 0
感谢分享

际遇之神

惩罚

发帖后一心想要帖子火起来,付DB6给大大走后门

猴岛、守护`|

ZxID:20936045

等级: 大将

举报 只看该作者 地板   发表于: 2015-02-15 0
不错不错

际遇之神

奖励

版主上厕所忘带手纸,⑴心メ守`高价转让手纸,得5DB

« 返回列表
发帖 回复