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

  • Fullscreen

    Fullscreen

    23 Mart 2006
  • sebsebdouze

    sebsebdouze

    7 ŞUBAT 2008
  • undrmyumbrellaa

    undrmyumbrel

    25 Temmuz 2012