SQLServer数据库连接查询的种类及应用
来源:优易学  2011-2-25 9:54:21   【优易学:中国教育考试门户网】   资料下载   IT书店

 

  外连接
  外连接主要包括左连接、右连接和完整外部连接。
  1)左连接:Left Join 或 Left Outer Join
  左连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(Null)。
  我们看对应的SQL语句:
  Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish
  From Student
  Left JOIN BorrowBook
  On Student.StudentID = BorrowBook.StudentID
  运行的结果如下:
  StudentName StudentAge BorrowBookName BorrowBookPublish
  张三 25 马克思主义政治经济学 电子工业出版社
  李四 26 毛泽东思想概论 高等教育出版社
  王五 27 邓小平理论 人民邮电出版社
  赵六 28 大学生思想道德修养 中国铁道出版社
  无名氏 27 NULL NULL
  (所影响的行数为 5 行)
  可以看到的是,它查询的结果是以左表Student为主,Student对应的StudentID在右表BorrowBook如果不存在的话,就会用NULL值来代替。
  2) 右连接:Right Join 或 Right Outer Join
  右连接和左连接相反,它将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值(Null)。
  我们看对应的SQL语句
  Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish
  From Student
  Right JOIN BorrowBook
  On Student.StudentID = BorrowBook.StudentID
  运行的结果如下:
  StudentName StudentAge BorrowBookName BorrowBookPublish
  张三 25 马克思主义政治经济学 电子工业出版社
  李四 26 毛泽东思想概论 高等教育出版社
  王五 27 邓小平理论 人民邮电出版社
  赵六 28 大学生思想道德修养 中国铁道出版社
  NULL NULL C语言程序设计 高等教育出版社
  (所影响的行数为 5 行)
  可以看到的是,它查询的结果是以右表BorrowBook为主,BorrowBook对应的StudentID在左表Student如果不存在的话,就会用NULL值来代替。
  3) 完整外部联接:Full Join 或 Full Outer Join
  完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
  我们看对应的SQL语句
  Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish
  From Student
  FULL OUTER JOIN BorrowBook
  On Student.StudentID = BorrowBook.StudentID
  结果如下:
  StudentName StudentAge BorrowBookName BorrowBookPublish
  NULL NULL C语言程序设计 高等教育出版社
  张三 25 马克思主义政治经济学 电子工业出版社
  李四 26 毛泽东思想概论 高等教育出版社
  王五 27 邓小平理论 人民邮电出版社
  赵六 28 大学生思想道德修养 中国铁道出版社
  无名氏 27 NULL NULL
  (所影响的行数为 6 行)
  可以看到的是,它查询的结果除了把相对应完全匹配的记录查出来以后,还会把左连接及右连接两种情形都包括,对应的值用NULL值来代替。

上一页  [1] [2] [3] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训