首页 > 解决方案 > 左连接实现减号不起作用

问题描述

我有 table1 和 table2 如下:

表格1: 在此处输入图像描述

表2: 在此处输入图像描述

当我在表之间执行以下查询时:

SELECT
  a.*
FROM
  (
    SELECT
      empid
     ,ename
     ,sal
     ,deptno
    FROM
      table1
    GROUP BY
      1,2,3,4
  ) AS a
LEFT JOIN
  (
    SELECT
      empid
     ,ename
     ,sal
     ,deptno
    FROM
      table2
  ) AS b
    ON
    a.empid = b.empid
      AND a.ename = b.ename
      AND a.sal = b.sal
      AND a.deptno = b.deptno
WHERE
  b.empid IS NULL
  AND b.ename IS NULL
  AND b.sal IS NULL
  AND b.deptno IS NULL;

我得到如下输出: 在此处输入图像描述

我们Minus在 Bigquery 中没有。这就是执行的原因Left Join

我需要的输出是 Table1 减去 table2。

请帮我解决这个问题..

谢谢

标签: sqlgoogle-bigquery

解决方案


以下是 BigQuery 标准 SQL

#standardSQL
SELECT * FROM `project.dataset.table1`
EXCEPT DISTINCT
SELECT * FROM `project.dataset.table2`

推荐阅读