MySql两张表某个字段只存在单表中

    xiaoxiao2023-11-01  155

    比较两张表的某个字段在两张表分布的不同之处,该列的值在t1表中存在,在t2表中不存在或在t2表中存在,在t1表中不存在,sql有以下两种写法 第一种:将两个表做union操作,然后按字段分组,统计数量,为1的就是单独存在一个表中的

    SELECT alias FROM ( SELECT t1.name alias FROM table1 t1 GROUP BY name UNION ALL SELECT t2.name alias FROM table2 t2 GROUP BY name ) tab GROUP BY alias HAVING COUNT(*) = 1 ORDER BY alias

    第二种:将两张表按照该字段进行左(右)关联查询,取右(左)那张表该字段为null的,即为单独存在在左表的

    SELECT * FROM table1 t1 LEFT JOIN table2 t2 ON t1.name = t2.name WHERE t2.name IS NULL
    最新回复(0)