0
は、このクエリを想定してください:あなたが知っているようwhere節の条件を使用する方が良いか、join句ですか?
SELECT p.* FROM posts p
JOIN posts_tags pt ON pt.post_id = p.id
JOIN tags t ON pt.tag_id = t.id AND t.name = 'php'
SELECT p.* FROM posts p
JOIN posts_tags pt ON pt.post_id = p.id
JOIN tags t ON pt.tag_id = t.id
WHERE t.name = 'php'
は、両方が同一の結果を持っています。しかし、この条件t.name = 'php'
は、最初のクエリのJOIN
句にあり、2番目のクエリのWHERE
句にあります。私はどちらが良いのか、なぜそれが良いのかを知りたいのですが?
彼らは内部結合のために同じです。この位置は外部結合のための違いを作ります。 –
@ GordonLinoff *パフォーマンスの観点*は同じですか? –
結果クエリプランは同じになります。これらは同等のクエリです。 –