実際、これにはJOINをお勧めしません。つまり、「semijoin」をお勧めします。 "、これはSQLで直接表現されない関係代数の概念です。半結合は、基本的に1つのテーブルからのみレコードを取得する結合ですが、別のテーブルに対応するレコードがあるという条件があります。
SQL表記では、この概念は、 IN
条項
、サブクエリ
を使用 :
SELECT key, value
FROM comments
WHERE key IN
( SELECT comment_key
FROM meta
WHERE value = 1
)
;
(MySQLは、実際にはそれを内部的に半結合に変換し直します—本質的には一種の縮退した内部結合です—しかし、IN
句は、生のSQLで表現する自然な方法です。)