多表查找

本文深入探讨了SQL中关联查询的基本语法,包括内连接、子查询、IN与EXISTS的使用,以及如何查找两个表中相同和不同的数据。通过具体实例,帮助读者掌握不同场景下的SQL查询技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库操作比较欠缺:

本篇为基本语法记录:有两个表,表一(T1)和表二(T2)

   

关联查出表一有的数据,表二也有的数据

首先:

SELECT A.A FROM [testSql].[dbo].[T2] as A , [testSql].[dbo].[T1] as B where A.A = B.A

那么这个和这个是否是相等呢?

SELECT A.[A] FROM [testSql].[dbo].[T2] as A inner join [testSql].[dbo].[T1] as B on a.[A] = B.[A]

当然,自己查询了 in 和exists 语法,如下操作也是成功了。

SELECT  A.[A] FROM [testSql].[dbo].[T1] as A where A.[A] in ( select B.[A] FROM [testSql].[dbo].[T2] as B)
SELECT A.[A] FROM [testSql].[dbo].[T1] as A where exists(select B.[A] from [testSql].[dbo].[T2] as B where A.[A] = B.[A])

当然还有查找表一存在表二不存在的:

SELECT A.[A] FROM [testSql].[dbo].[T1] as A where A.A  not in(select B.[A] from [testSql].[dbo].[T2] as B where A.[A] = B.[A])

SELECT A.[A] FROM [testSql].[dbo].[T1] as A where not exists(select B.[A] from [testSql].[dbo].[T2] as B where A.[A] = B.[A])


合并双表的:

SELECT A.[A] FROM [testSql].[dbo].[T1] as A union (SELECT B.[A] FROM [testSql].[dbo].[T2] as B)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值