我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用T-SQL实现多表查询

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用T-SQL实现多表查询

表连接的类型:
1.内连接(inner join):是最常用的一种连接方式,只返回两个数据集合之间匹配关系的行,将位于两个互相交叉的数据集合中重叠部分以内的数据行连接起来。
 例子:在表A和表B中使用内连接查询学生姓名,学校和职业。
实现方式一:
  select A.姓名,A.学校,B.职业 from A,B where A.姓名=B.姓名
 含义:结果显示表A的姓名和学校,表B的职业,从A,B表中查询,查询条件是表A的姓名等于表B的姓名。
实现方式二:
  select A.姓名,A.学校,B.职业 from A inner join B on A.姓名=B.姓名
 含义:表A内连接表B,内连接条件是表A的姓名等于表B的姓名。
 注:内连接的结果只显示表A和表B共同拥有的姓名的行,姓名不相同的舍弃。
2.外连接:是对内连接的扩充,显示不匹配的数据。
 1).左外连接(left join 或 left outer join):结果保留左表的所有行,如果左表的某一行在右表中没有匹配行,则将为右表的返回空值,否则返回相应值。
  例子:在表A和表B中使用左外连接查询学生姓名,学校和职业。
 select A.姓名,A.学校,B.姓名,B.职业 from A left join B on A.姓名=B.姓名
 含义:结果显示出左边A表的所有姓名行数,B表中没有匹配的姓名,姓名和职业就显示为空值(null)。
  2).右外连接(right join 或right outer join):与左外连接相反,结果返回右表的所有行,如果右表的某一行在左表中没有匹配行,则将为左表的返回空值,否则返回相应值。
  例子:在表A和表B中使用右外连接查询学生姓名,学校和职业。
 select A.姓名,A.学校,B.姓名,B.职业 from A right join B on A.姓名=B.姓名
 含义:结果显示出右边B表的所有姓名行数,A表中没有匹配的姓名,姓名和学校就显示为空值(null)。
3).全连接/完整外连接(full join 或 full outer join):结果返回左表和右表的所有行,当某一行在另一个表中没有匹配行时,另一个表返回值就为空值,否则返回相应值。
 例子:在表A和表B中使用右外连接查询学生姓名,学校和职业。
  select A.姓名,A.学校,B.姓名,B.职业 from A full join B on A.姓名=B.姓名
  含义:结果显示出A和B表的所有姓名行数,A表中没有匹配B表中的姓名,A的姓名和学校就显示为空值(null)。B表中没有匹配A表中的姓名,B的姓名和职业就显示为空值(null)。
3.交叉连接(cross join):是表之间没有任何关联条件,查询的结果是返回左表的每一行与右表的每一行挨个连接组合,相当于相乘。应用的场合较少,作为了解。
 例子:在表A和表B中使用交叉连接查询学生姓名,学校和职业。
 select A.姓名,A.学校,B.姓名,B.职业 from A full join B
  含义:A表中的每一行都和B表中的每一行组合成为新行,结果总行数等于A的行数乘以B的行数

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用T-SQL实现多表查询

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linq to sql多表查询怎么实现

这篇文章主要讲解了“linq to sql多表查询怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linq to sql多表查询怎么实现”吧!在手写sql的年代,如果想从sqlserv
2023-06-17

mysql怎么实现多表查询

这篇文章给大家分享的是有关mysql怎么实现多表查询的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、说明查询其实就是对于对于各个表格进行递归调用,和矩阵的乘法一样一样的,这个对应非常直观,也非常通用。常规的查询
2023-06-15

jdbc怎么实现多表查询

JDBC是一种用于Java程序与数据库进行交互的API,它本身并不直接支持多表查询,而是提供了一些基本的数据库操作方法,如连接数据库、执行SQL语句等。要实现多表查询,可以使用SQL语句的JOIN操作。JOIN操作可以将多个表中的数据连接在
jdbc怎么实现多表查询
2023-10-30

如何使用SQL拼接构建多表连接查询

在SQL中,可以使用JOIN语句来进行多表连接查询。下面是一个简单的示例,演示如何使用SQL拼接构建多表连接查询:假设有两个表,一个是employees表,包含员工的信息,另一个是departments表,包含部门的信息。我们想要查询所有
如何使用SQL拼接构建多表连接查询
2024-04-29

linq中怎么实现多表查询

这篇文章给大家介绍linq中怎么实现多表查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1:1关系的多表操作表结构如上首先是测试取全记录的情况(也就是取所有字段)linq多表查询之直接写表达式var user = c
2023-06-17

编程热搜

目录