SQL Server数据库连接查询的种类及其应用
2009-05-12 20:40:38来源:未知 阅读 ()
在数据库开发方面,通过单表所表现的实现,有时候需要组合查询来找到我们需要的记录集,这时候我们就会用到连接查询。
连接查询主要包括以下几个方面:
内连接
内连接一般是我们最常使用的,也叫自然连接,是用比较运算符比较要联接列的值的联接。它是通过(INNER JOIN或者JOIN)关键字把多表进行连接。我们通过建立两个表来说明问题:
StudentID StudentName StudentAge
----------- -------------------------------------------------- -----------
1 张三 25
2 李四 26
3 王五 27
4 赵六 28
5 无名氏 27
以上是表Student,存放学生基本信息。
BorrowBookID BorrowBookName StudentID BorrowBookPublish
----------------------------------------------------------------------------------------------------------------------
1 马克思主义政治经济学 1 电子工业出版社
2 毛泽东思想概论 2 高等教育出版社
3 邓小平理论 3 人民邮电出版社
4 大学生思想道德修养 4 中国铁道出版社
5 C语言程序设计 NULL 高等教育出版社
以上是表BorrowBook,存放学生所借的书。
以上两张表是通过StudentID进行关联,在这里先执行内联连语句:
Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish
From Student
Inner Join BorrowBook
On Student.StudentID = BorrowBook.StudentID
上面这个语句也可以写成
Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish
FROM Student,BorrowBook
WHERE Student.StudentID = BorrowBook.StudentID
其中,Inner Join是SQL Server的缺省连接,可简写为Join。在Join后面指定具体的表作连接。On后面指定了连接的条件。
运行的结果如下:
tudentName StudentAge BorrowBookName BorrowBookPublish
--------------------------------------------------------------------------------
张三 25 马克思主义政治经济学 电子工业出版社
李四 26 毛泽东思想概论 高等教育出版社
王五 27 邓小平理论 人民邮电出版社
赵六 28 大学生思想道德修养 中国铁道出版社
(所影响的行数为 4 行)
根据查询的结果来进行分析:
如果多个表要做连接,那么这些表之间必然存在着主键和外键的关系。所以需要将这些键的关系列出,就可以得出表连接的结果。在上例中,StudentID是Student表的主键,StudentID又是BorrowBook表的外键,这两个表的连接条件就是Student.StudentID = BorrowBook.StudentID,对比查询结果可以得知,内连接查询只查询出主键StudentID在另张表中存在的记录,像Student表中的第五条记录,因为在BorrowBook表中StudentID不存在,像BorrowBook表中的第五条记录StudentID为Null,对应的Student表中没有记录,所以就不会显示。所以内连接就是将参与的数据表中的每列与其它数据表的列相匹配,形成临时数据表,并将满足数据项相等的记录从临时数据表中选择出来。
内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:
1) 等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。
2) 不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括> 、> =、 <=、 <、!> 、! <和 <> 。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- SQL Server控制语句的应用方法 2020-02-09
- SQL Server数据体系和应用程序逻辑详解 2009-05-12
- SQL Server应用程序的高级Sql注入 2009-05-12
- 在应用环境中如何构造最优的数据库模式 2009-05-12
- 应用技术:如何通过SQLyog分析MySQL数据库 2009-05-12
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash