SORU
19 HAZİRAN 2009, Cuma


İÇ WHERE vs KATIL

Basitlik için, tüm ilgili alanları BOŞ DEĞİL, kabul.

Yapabilirsiniz:

SELECT
    table1.this, table2.that, table2.somethingelse
FROM
    table1, table2
WHERE
    table1.foreignkey = table2.primarykey
    AND (some other conditions)

Yoksa:

SELECT
    table1.this, table2.that, table2.somethingelse
FROM
    table1 INNER JOIN table2
    ON table1.foreignkey = table2.primarykey
WHERE
    (some other conditions)

Bu iki MySQL tarafından aynı şekilde çalıştı.

CEVAP
19 HAZİRAN 2009, Cuma


INNER JOIN ile ANSI sözdizimi.

Genellikle özellikle bir sürü masa katıldığınızda daha okunaklı olarak kabul edilir.

Ayrıca, gerektiğinde kolayca OUTER JOIN Bir ile değiştirilebilir.

WHERE sözdizimi daha ilişkisel model odaklı.

İki tablo JOIN'ed sütun eşleşen katılımı ile sadece bu satırları seçer hangi bir filtre uygulanır tabloların kartezyen bir üründür. sonucu

Daha kolay WHERE sözdizimi ile bu.

MySQL senin örneğin gibi, (SQL genelde bu iki eş anlamlı sorguları.

Ayrıca MySQL STRAIGHT_JOIN bir madde olduğunu unutmayın.

Dış döngü içinde taranmış olan ve bir iç döngü. bu Madde, JOIN sipariş kontrol edebilirsiniz kullanarak:

Olamaz MySQL WHERE sözdizimi kullanarak kontrol.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Hudson Music

    Hudson Music

    13 Mart 2007
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006
  • UrAvgConsumer

    UrAvgConsume

    1 Ocak 2012