SQL INTERSECT查询相似于 SQL UNION查询,用于连接两个SQL Select语句。不同的是SQL UNION选出的结果出现在第一个Select语句或者第二个Select语句中(相当于或操作),而SQL INTERSECT选出的结果必须同时出现在第一和第二个Select语句中(相当于与操作)。
注:SQL INTERSECT查询仅返回唯一不同的值(distinct value)。
SQL INTERSECT 查询语法
SELECT Column(s) FROM 表1 INTERSECT SELECT Column(s) FROM 表2
SQL INTERSECT 查询范例
数据表: FinanceEmployees
EmployeeId | FirstName | LastName |
---|---|---|
203 | Kilooa | Joooo |
204 | Hioiaaa | Hifa |
205 | Yuiofa | Iioooa |
206 | Miofa | Poqqq |
EmployeeId | FirstName | LastName |
---|---|---|
206 | Miofa | Poqqq |
207 | Qifaww | Siafoa |
208 | Ziooo | Rrroo |
209 | UUifad | Bbiiw |
选择所有的职员(Employee),同时在FinanceEmployees和DevelopmentEmployees中:
SELECT EmployeeId, FirstName, LastName FROM FinanceEmployees INTERSECT SELECT EmployeeId, FirstName, LastName FROM DevelopmentEmployees
结果会类似于:
EmployeeId | FirstName | LastName |
---|---|---|
206 | Miofa | Poqqq |