Başlamak için, sisteminizde yardımcı programlarıyla birlikte MySQL'in kurulu olması gerekir: MySQL tezgahı ve komut satırı istemci kabuğu. Bundan sonra, veritabanı tablolarınızda kopya olarak bazı veriler veya değerler olmalıdır. Bunu birkaç örnekle inceleyelim. Her şeyden önce, masaüstü görev çubuğunuzdan komut satırı istemci kabuğunuzu açın ve sorulduğunda MySQL şifrenizi yazın.
Bir tabloda kopyaları bulmak için farklı yöntemler bulduk. Onlara birer birer göz atın.
Tek Bir Sütunda Yinelenenleri Ara
İlk olarak, tek bir sütun için kopyaları kontrol etmek ve saymak için kullanılan sorgunun sözdizimini bilmelisiniz.
>> GROUP BY sütuna göre sütun SAYI(sütun) SEÇİN SAYI(sütun) > 1;İşte yukarıdaki sorgunun açıklaması:
- Sütun: Kontrol edilecek sütunun adı.
- MİKTAR(): birçok yinelenen değeri saymak için kullanılan işlev.
- GRUP : tüm satırları belirli bir sütuna göre gruplamak için kullanılan yan tümce.
MySQL veritabanımızdaki 'verilerde' yinelenen değerlere sahip 'hayvanlar' adında yeni bir tablo oluşturduk. İçinde farklı değerlere sahip altı sütun var, e.g., Farklı evcil hayvanlar hakkında bilgi sağlayan kimlik, İsim, Tür, Cinsiyet, Yaş ve Fiyat. SELECT sorgusunu kullanarak bu tabloyu çağırdığımızda, MySQL komut satırı istemci kabuğumuzda aşağıdaki çıktıyı alıyoruz.
>> verilerden * SEÇİN.hayvanlar;
Şimdi SELECT sorgusunda COUNT ve GROUP BY yan tümcelerini kullanarak yukarıdaki tablodan gereksiz ve tekrarlanan değerleri bulmaya çalışacağız. Bu sorgu, tabloda 3 defadan daha az bulunan evcil hayvanların isimlerini sayacaktır. Bundan sonra, bu İsimleri aşağıdaki gibi gösterecektir.
>> Veriden COUNT(Ad) Adı SEÇ.hayvanlar GROUP BY Ada Göre SAYISI OLAN(Ad) < 3;
Aşağıda gösterildiği gibi Evcil Hayvan Adları için COUNT numarasını değiştirirken farklı sonuçlar elde etmek için aynı sorguyu kullanma.
>> Veriden COUNT(Ad) Adı SEÇ.hayvanlar Ada Göre GRUP SAYISI(İsim) > 3;
Aşağıda gösterildiği gibi evcil hayvan adları için toplam 3 yinelenen değer için sonuç almak için.
>> Veriden COUNT(Ad) Adı SEÇ.hayvanlar GROUP BY Ada Göre SAYISI(Ad) = 3;
Yinelenenleri Birden Çok Sütunda Ara
Birden çok sütun için yinelenenleri kontrol etmek veya saymak için sorgunun sözdizimi aşağıdaki gibidir:
>> SELECT sütun1, SAYI(sütun1), sütun2, COUNT(sütun2) tablodan GROUP BY sütun1, sütun2 SAYIS(sütun1) > 1 VE SAYI(sütun2) > 1;İşte yukarıdaki sorgunun açıklaması:
- sütun1, sütun2: kontrol edilecek sütunların adı.
- MİKTAR(): birkaç yinelenen değeri saymak için kullanılan işlev.
- GRUP: tüm satırları belirli bir sütuna göre gruplamak için kullanılan yan tümce.
Yinelenen değerlere sahip 'hayvanlar' adlı aynı tabloyu kullanıyoruz. Birden çok sütundaki yinelenen değerleri kontrol etmek için yukarıdaki sorguyu kullanırken aşağıdaki çıktıyı aldık. Fiyat sütununa göre gruplandırılırken Cinsiyet ve Fiyat sütunları için yinelenen değerleri kontrol ediyor ve sayıyoruz. Tabloda bulunan evcil hayvan cinsiyetlerini ve fiyatlarını 5'ten fazla olmamak üzere kopya olarak gösterecektir.
>> CİNSİYET SEÇ, COUNT(Cinsiyet), Fiyat, COUNT(Fiyat) FROM verisi.hayvanlar SAYISI OLAN FİYATA GÖRE GRUP(Fiyat) < 5 AND COUNT(Gender) < 5;
INNER JOIN Kullanarak Tek Tabloda Kopyaları Ara
Tek bir tabloda kopyaları bulmak için temel sözdizimi şöyledir:
>> sütun1, sütun2, tablo SEÇ.col FROM tablosu INNER JOIN(SEÇ SAYISI(sütun1) > 1) temp ON tablosuna göre tablo GROUP BY sütundan SEÇİN.sütun = sıcaklık.sütun;İşte genel gider sorgusunun anlatımı:
- Sütun: kontrol edilecek ve kopyalar için seçilecek sütunun adı.
- Sıcaklık: bir sütuna iç birleştirme uygulamak için anahtar kelime.
- Tablo: kontrol edilecek tablonun adı.
Aşağıda gösterildiği gibi OrderNo sütununda yinelenen değerler içeren yeni bir 'order2' tablomuz var.
>> verilerden * SEÇİN.sipariş2;
Çıktıda gösterilecek üç sütun seçiyoruz: Item, Sales, OrderNo. OrderNo sütunu kopyaları kontrol etmek için kullanılırken. İç birleştirme, bir tabloda birden fazla Öğe değerlerine sahip değerleri veya satırları seçecektir. Yürüttüğümüzde, aşağıdaki sonuçları alacağız.
>> Öğe SEÇ, Satış, sipariş2.SiparişNo FROM verisi.order2 INNER JOIN(veriden OrderNo SEÇİN.order2 GROUP BY OrderNo COUNT(Item) > 1) temp ON order2'ye sahip.SiparişNo= sıcaklık.SiparişNo;
INNER JOIN Kullanarak Birden Çok Tabloda Kopyaları Ara
Birden çok tabloda yinelenenleri bulmak için basitleştirilmiş sözdizimi:
>> tablo1'DEN sütun SEÇİN INNER JOIN table2 ON table1.sütun = tablo2.sütun;İşte genel gider sorgusunun açıklaması:
- sütun: kontrol edilecek ve seçilecek sütunların adı.
- İÇ BİRLEŞİM: iki tabloyu birleştirmek için kullanılan işlev.
- AÇIK: sağlanan sütunlara göre iki tabloyu birleştirmek için kullanılır.
Aşağıda gösterildiği gibi her ikisinde de 'SiparişNo' sütununa sahip veritabanımızda 'order1' ve 'order2' adlı iki tablomuz var.
Belirtilen bir sütuna göre iki tablonun kopyalarını birleştirmek için INNER birleşimini kullanacağız. INNER JOIN yan tümcesi her iki tablodaki tüm verileri birleştirerek alır ve ON yan tümcesi her iki tablodaki aynı ad sütunlarını ilişkilendirir, e.g., SiparişNo.
>> verilerden * SEÇİN.order1 INNER JOIN verileri.sipariş2 ON sipariş1.SiparişNo = sipariş2.SiparişNO;
Belirli sütunları bir çıktıda almak için aşağıdaki komutu deneyin:
>> Verilerden Bölge, Durum, Öğe, Satış SEÇİN.order1 INNER JOIN verileri.sipariş2 ON sipariş1.SiparişNo = sipariş2.SiparişNO;
Sonuç
Artık MySQL bilgilerinin bir veya birkaç tablosunda birden çok kopya arayabilir ve GROUP BY, COUNT ve INNER JOIN işlevini tanıyabiliriz. Tabloları doğru bir şekilde oluşturduğunuzdan ve ayrıca doğru sütunların seçildiğinden emin olun.