在我的數據庫中,我有幾個表「多對多」關係互相引用,我教這個查詢的方式是通過嵌入式查詢。
我一直在閱讀關於「多對多」關係,以及如何使用「Inner Join」查詢它們,但我似乎無法找到符合我所尋找的查詢,我的數據庫將與非常大的表一起工作,我不希望我的代碼出現性能問題。有沒有更好的方式來使用內部連接命令進行這個mysql查詢?
SELECT salones.idSalon,
salones.Lat,
salones.Long,
recursos.idRecurso,
recursos.Recurso
FROM salones,
recursos,
salones_has_recursos
WHERE salones_has_recursos.salones_idSalon=salones.idSalon
AND salones_has_recursos.recursos_idRecurso=recursos.idRecurso
AND recursos.idRecurso IN (SELECT idRecurso
FROM salones_has_recursos
WHERE idRecurso IN (SELECT idRecurso
FROM recursos
WHERE recurso = 'Audiovisual'
)
)
我知道有嵌入的查詢是一個性能殺手,但是這是我能想出如何讓我從表中需要的信息的唯一途徑。有誰知道如何使用「內部連接」命令獲得相同的結果?
The resulting table should look a little like this
This is the all the data content of the tables
sqlfiddle.com一些測試數據並顯示所需的輸出,請。 –
只對「逗號加入」說不。 – Uueerdo