首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中複製 INTERSECT 運算子的功能?

如何在 MySQL 中複製 INTERSECT 運算子的功能?

Patricia Arquette
發布: 2024-12-28 06:24:15
原創
501 人瀏覽過

How to Replicate the INTERSECT Operator's Functionality in MySQL?

MySQL 中相交運算子的替代方法

在Microsoft SQL Server 中找到的INTERSECT 運算子傳回出現在兩個查詢結果中的重複值。 MySQL 缺少此運算符,因此需要替代方法。

MySQL 替代方案

要在MySQL 中實現與INTERSECT 相同的功能,請考慮使用:

  • ININ從連接中選擇不同的值
SELECT DISTINCT value FROM table_a
INNER JOIN table_b
USING (value);
登入後複製
  • WHERE ... IN with DISTINCT:
  • 根據第二表中存在的值過濾第一個表中的記錄。
SELECT DISTINCT value FROM table_a
WHERE (value) IN (SELECT value FROM table_b);
登入後複製

範例查詢

考慮以下查詢:
(SELECT * FROM emovis_reporting WHERE (id=3 AND cut_name= '全プロセス' AND cut_name='恐慌') ) 
INTERSECT
( SELECT * FROM emovis_reporting WHERE (id=3) AND ( cut_name='全プロセス' OR cut_name='恐慌') )
登入後複製

使用 INNER JOIN 和 DISTINCT 的 MySQL替代方案:

SELECT DISTINCT * FROM emovis_reporting
INNER JOIN (SELECT * FROM emovis_reporting WHERE ID=3 AND cut_name='全プロセス') AS t1
ON cut_name='恐慌';
登入後複製

MySQL 替代方案使用 WHERE ... IN 與獨特:

SELECT DISTINCT * FROM emovis_reporting
WHERE (id, cut_name) IN (
  SELECT id, cut_name FROM emovis_reporting
  WHERE>
登入後複製

以上是如何在 MySQL 中複製 INTERSECT 運算子的功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板