積集合

MySQLのUnionは積(INTERSECT)に対応していないので、内部結合でカバーする †

SELECT
    t1.id 
FROM 
    ( 
    SELECT 
            id 
        FROM 
            TABLE 
        WHERE 
            data_id = 9 
    ) AS t1 
JOIN 
    ( 
        SELECT 
            id 
        FROM 
            TABLE 
        WHERE 
            data_id = 13 
    ) AS t2 
ON 
    t1.id = t2.id 
JOIN 
    ( 
        SELECT 
            id 
        FROM 
            TABLE 
        WHERE 
            data_id = 15 
    ) AS t3 
ON 
    t1.id = t3.id

INTERSECT、UNIONについて

WHERE、GROUP BY、などの後に評価されるので、あまり使わないほうがいい。


Comment



Counter: 18282, today: 3, yesterday: 0

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-09-24 (火) 14:56:20 (1425d)