..


Sponsor Bağlantılar

JOIN kullanarak bu tabloları sil

Max Bossi tarafından yazılmış Makale

Bu birleştirme potansiyelinin (DELETE) silmek için sorgu yapmak mümkündür nasıl Bu kısa yazıda göreceğiz, yani MySQL tablolar arasındaki ilişkileri oluşturmak.
Aslında biz zaten nasıl gördüğümüz veri seçimi (SEÇ) de JOIN kullanımı ve (UPDATE) güncellenmektedir, burada sadece önce öğrenmiş oldu ne uzatacaktır.

Daha iyi bu tekniğin potansiyelini öğrenmek için kullanım somut bir vaka kabul bizim alışkanlık olarak düşünmelisiniz.

Diyelim ki aşağıdaki tablolarda (ki onların yapıları tarif) oluşan bir hipotetik depo bir veritabanı üzerinde çalışmak gerektiğini söylüyorlar:

  • raflar
    • id (int)
    • açıklaması (varchar)
  • raflar
    • id (int)
    • scaffale_id (int)
    • açıklaması (varchar)
  • ürünler
    • id (int)
    • ripiano_id (int)
    • ad (varchar)
    • fiyat (float)
Şimdi ürünlerin ortadan kaldırmak gerek olduğunu varsayalım. Aşağıdaki üç farklı sonuçlar adresi.

1) Eğer kimliğini bildiğiniz tek bir ürün silmek istediğinizi varsayalım. Bu durumda sadece önemsiz bir sorgu çalıştırabilirsiniz:

 



 Id = 1 ürün * FROM DELETE;

 
Belirli bir raf içine paketlenmiş tüm ürünler silmek istiyorsanız 2) Aynı sorgu kullanılacaktır:
 



 = 1 ripiano_id ürünleri * FROM DELETE;

 
3) Ancak, belirli bir raf içindeki tüm ürünleri silmek isterseniz?
"Ürünler" olarak raf gösterir hiçbir alan yoktur, çünkü daha önce görülen bu gibi basit bir sorgu mümkün olmaz!

Gerçekte sorun aşılamaz değil! sorguları ele alma 'biraz el becerisi ile, aslında, engel kolayca atlatılabilir olduğunu! Nasıl? JOIN ile! İşte bir örnek:

 



 Ürünleri DELETE .*







 Ürünleri INNER JOIN raflar İTİBAREN







 = Prodotti.ripiano_id ripiani.id AÇIK







 = 1 WHERE ripiani.scaffale_id;



Bunu yaparken biz bu alanı "scaffale_id" yararlanabilmesi için iki tablo "ürünler" ve "raf" (ikinci ilk tanımlayıcı sonuç "ripiano_id" tablosunda JOIN alanında göre) arasında bir ilişki hazırlandı son.

İlk bakışta belki biraz karışık görünebilir ... aslında oldukça basittir. Bu konuda ikinci ilk çalışmasına bilgi kullanmak için iki tablo arasında mantıksal ilişki oluşturuyor.

, Ürünlerin yanı sıra, biz biraz farklı bir sorgu kullanmak verilen pututo karşılık gelen tüm rafları rafa kaldırmak istediği yere:

 



 Ürünleri DELETE .*, raflar .*







 Ürünleri INNER JOIN raflar İTİBAREN







 = Prodotti.ripiano_id ripiani.id AÇIK







 = 1 WHERE ripiani.scaffale_id;



Aslında bu sadece iptal tablosu "ürünler" alanlar sadece etkileyeceğini olmanın tek fark yukarıdaki sorgu görünümü:
 



 ürünleri .*

 
aynı zamanda Tablosu "raf" olanlar:
 



 raflar .*

 
Soru ve talepleri için ben size post davet forumlar .

Aynı Kategoride ...
E-Öğrenme
MS Access (Gelişmiş) MS Access (Gelişmiş)
Hızlı ve kolay bir veritabanı oluşturmak ve yönetmek öğrenin. 29 € dan başlayan fiyatlarla.
MySQL (Ders) MySQL (Ders)
Açık kaynak veritabanı yönetimi. En düşük € 39.
SQL ve Veritabanı (Ders) SQL ve Veritabanı (Ders)
Ilişkisel veritabanı oluşturma ve yönetme. En düşük € 39.
Sponsor Bağlantılar