[mysql]SQL 相交的查询

标签: sql MySQL
发布时间: 2015/6/11 20:41:23
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要显示有关列的表。例如,有 3 表 (部、 dept_emp 和雇员)。如果我很感兴趣只是 dept_no,我查询应返回部和 dept_emp 表。然而,如果我对 dept_no 和 emp_no 感兴趣,结果应该是只有 dept_emp 表。

所以我想出了这个查询,但显然有一个语法错误。如果有任何其他替代办法知道

(SELECT TABLE_NAME
 FROM INFORMATION_SCHEMA.COLUMNS
 WHERE COLUMN_NAME = 'dept_no')
INTERSECT
(SELECT TABLE_NAME
 FROM INFORMATION_SCHEMA.COLUMNS
 WHERE COLUMN_NAME = 'empt_no')

解决方法 1:

只要你使用的 MySql,你可以做它通过子查询:

    SELECT DISTINCT TABLE_NAME
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME = 'dept_no' AND TABLE_NAME IN (SELECT TABLE_NAME
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME = 'empt_no')
官方微信
官方QQ群
31647020