讓我們假設我有以下查詢:MySQL的 - 改變或與
SELECT Ads.AdId
FROM Ads
, AdsAmenities
WHERE AdsAmenities.amenities_AmenityId IN (2, 18, 1)
AND Ads.AdId = AdsAmenities.ads_AdId
該查詢選擇每個ADID從廣告表,其中有至少一個以下三個設施(2,18 ,1)。 AdsAmenities
表是我在那裏存儲Ads
和Amenities
之間的關係的表。我怎麼能改變這個查詢,它應該只返回具有所有列舉的舒適度ID的AdId?
你能解釋一下你的答案之間的區別,以下你的答案是什麼?我的意思是,它看起來有效,我有興趣使用您提供的JOIN有什麼優勢呢?我將其標記爲正確的答案,因爲你的速度更快:) –
@AdamBaranyai:1)我使用顯式的'join'符號而不是隱含的(你提供的),這是不贊成的(隱含的)。 2)在結果集中'AdsAmenities.amenities_AmenityId'不是uniq的情況下,我們的答案並不完全相同,即如果有一個「AdsAmenities.amenities_AmenityId」有三行(如(2,2,18)),則下面的查詢返回相應的'Ads.AdId',而我的查詢則沒有。 – potashin