如何查找表A中的所有列是否都存在于表B中

时间:2018-07-09 18:27:28

标签: sql database

Table A
Id	name	phone
1	sam	  7753457893
2	tom	  7753457893
3	pop	  7753457893
4	john  7753457893

table B

name	phone
sam	  7753457893
tom	  7753457893
pop	  7753457893
john  7753457893

如何查找表B中是否存在表A中的所有列。我尝试使用除外,但我遇到了编译错误“设置操作员输入分支的列数无效,预期为22,得到11”。我使用了此查询 “从表B中选择* 除了 从表A中选择*”。 表A有22列,表B有11列。我需要查询才能知道表B中的所有列都在表A中

基本上我想知道表B是否是表A的子集。

1 个答案:

答案 0 :(得分:1)

您可以使用此查询 SELECT ColumnFromB FROM TableB EXCEPT SELECT ColumnFromA FROM TableA 这将为您提供B中但不在A中的记录列表。 然后,您可以将结果插入表变量中,并检查其COUNT (如果count = 0'subset' 其他不是子集。