sqlserver数据库多表联合查询


//内联接:(INNER JOIN)
内联接使用比较运算符根据每个表的通用列中的值匹配两个表中的行
(1)SELECT …… FROM 表1 INNER JOIN 表2 ON ……
SELECT S.SName,C.CourseID,C.Score
FROM Score AS C
INNER JOIN Students AS S
ON C.StudentID = S.SCode
(2)SELECT …… FROM 表1,表2 WHERE ……
SELECT Students.SName, Score.CourseID, Score.Score
FROM Students,Score
WHERE Students.SCode = Score.StudentID

//外联接 :
(1)左外联接 (LEFT JOIN):左表的数据是完整的。
从表(右表)中的数据逐条匹配主表(左表)中的数据:
1、匹配,返回到结果集
2、无匹配,NULL值返回到结果集
SELECT S.SName,C.CourseID,C.Score
FROM Students AS S
LEFT JOIN Score AS C
ON C.StudentID = S.SCode
(2)右外联接 (RIGHT JOIN) :右表的数据是完整的。
从表(左表)中的数据逐条匹配主表(右表)中的数据:
1、匹配,返回到结果集
2、无匹配,NULL值返回到结果集
SELECT 图书编号,图书名称,出版社名称
FROM 图书表
RIGHT JOIN 出版社表
ON 图书表.出版社编号 = 出版社表.出版社编号


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM