码迷,mamicode.com
首页 > 数据库 > 详细

数据库-多表查询

时间:2020-05-24 09:19:02      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:外连接   each   根据   实例   通过   ros   select   course   tno   

1.内连接

1.1 概念

  • 内连接根据两个表的共同列进行匹配,两表一般存在主外键关系。通常使用“=”比较运算符来判断两列数据是否相等,通过使用inner join关键字进行表之间的关联

1.2 实例:两张表连接

对sc和student表进行内连接,显示学生的学号,姓名,课程号,分数。
语法1:
select student.sno,student.sname,sc.sno,sc.grage   from sc join student    on sc.sno=student.sno
语法2:
select student.sno,student.sname,sc.sno,sc.grage   from sc,student    where sc.sno=student.sno

1.3 实例:三张表连接

显示学生的学号,姓名,课程名,考试分数
语法1:
select student.sno,student.sname,course.cname,sc.grage   from sc join student   on sc.sno=student.sno   join course  on  sc.sno=course.sno
语法2:
select student.sno,student.sname,course.cname,sc.grage   from sc,student,course  where   sc.sno=student.sno  and  sc.sno=course.sno 

2.外连接

2.1 左外连接(left join)

让student表和sc表进行左外连接,即不管是学生是否有选修课程,该学生的信息的都会显示出来
select student.sno,student.sname,sc.sno,sc.grade   from student left outer join sc  on student.sno=sc.sno

2.2 右外连接(right join)

让sc表和teacher表进行右外连接,显示教师编号,教师姓名,讲师教授的课程号
select teacher.tno,teacher.tname,sc.cno   from sc right outer join teacher  on sc.tno=teachaer.tno

2.3 全外连接(full join)

让sc表和teacher表进行全外连接,显示教师编号,教师姓名,讲师教授的课程号。
teacher.tno,teacher.tname,sc.cno   from sc full outer join teacher   on sc.tno=teacher.tno 

2.4 交叉连接:表之间没有任何关联

让学生和课程两张表进行交叉连接
select *from student cross join course

数据库-多表查询

标签:外连接   each   根据   实例   通过   ros   select   course   tno   

原文地址:https://www.cnblogs.com/dongxuelove/p/12945683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!