IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

1Beğeni(ler)

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 16 Ekim 2014, 15:16   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Mysql Join Uygulaması




Veri tabanı işlemlerinde bir tablodan çalışabileceğimiz gibi birden çok tablolardan veriler çekmemiz ve bu verilere belli kriterler uygulamamız gerekebilir. Uygulamalarımızda her defasında bir veriyi çekip kontorol etmek ve buna istenen kriterleri uygulamak büyük kapsamlı projelerde karmaşıklığa ve kodların yavaş çalışmasına neden olabilir.

Örnek olarak kitap tablomuz ve seçilen kitapların yer aldığı galeri tablomuz olsun. Galeri tablomuzda kitabın id si ne göre işlemler yapacağız.
Kitap tablomuzda: id, isim ve kapak sütunları yer alsın.
Galeri tablomuzda ise, id, kitap_id sutunları yer alsın.

Şimdi seçilen yani galeri tablosunda yer alan verilere göre kitapları vitrin bölümümüzde gösteren kodları yazalım.
SELECT kitap.id as kid, kitap.isim, kitap.kapak, galeri.id as

gid, galeri.kitap_id FROM kitap, galeri WHERE kitap.id=galeri.kitap_id

Yukarıdaki kod satır ; "kitap.id as kid" ile kitap tablosundaki id sutununu kid olarak aldık,"kitap.isim" ile kitap tablosundaki isim sutununu almış olduk,"kitap.kapak" ile kitap tablosundaki kapak sutunundaki veriyi almış olduk(Kitap kapağının adının tutulmuş olduğu alan). Sıra galeri tablosundaki verileri almaya geldi. "galeri.id as gid" ile galeri tablosundaki id yi gid olarak almış olduk, "galeri.kitap_id" ile galeri tablosundaki kitap idlerinin tutulduğu bölümü çekmiş olduk. Daha sonra "WHERE kitap.id=galeri.kitap_id" ile kitap id si galeri tablosunda kitap_id sutununda yer alan yani galerimize eklenmiş olan verileri(kitapları) getir demiş olduk.
"as" kodu ile değişken tanımlamış oluyoruz.

Bu örnegimizi biraz daha geliştirerek satış içi olan ve galeride yer alan kitapları getirmek isteseydik.Satış içi olarak kitap tablomuzda durum sutununun yer aldığını farz edelim; ve durum=1 ise satış içi durum=0 ise satış dışı olsun kitabımız.
SELECT kitap.id as kid, kitap.isim, kitap.kapak, galeri.id as

gid, galeri.kitap_id FROM kitap, galeri WHERE kitap.id=galeri.kitap_id and kitap.durum=1

Yukarıdaki kod satırının en sonunda yer alan "and kitap.durum=1" kodu ile ve kitap tablosunda durum 'u 1 olan yani satış içi olan demiş olduk.

__________________
Bu kez pek bir afili yalnızlık, ağlatan bir kadın düşman. Ağzı bozuk üstelik bırakmıyor acıtmadan.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Yazgulu Sohbet
Alt 18 Ekim 2014, 01:35   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Mysql Join Uygulaması




Yapılan işlem genel tabirler JOIN fakat JOIN 4 ayrı şekilde uygulanır. Yukarıdaki örnek INNER JOIN örneğidir.

JOIN tipleri;

INNER JOIN, LEFT JOIN (LEFT OUTER), RIGHT JOIN (RIGHT OUTER), CROSS JOIN

INNER JOIN, her iki tabloyuda baştan aşağı tarar ve ortak satırları getirir. Burada en önemli sıkıntı şudur.

Örneğin ;

A tablonuzda 10 milyon kaydınız var.
B tablonuzdada 8 milyon kaydınız var.

INNER JOIN 18 milyon veriyi tarar ve ortak satırları size getirir. Performans olarak sucks yani!

Fakat LEFT JOIN kullanırsanız. O zaman sadece 8 milyonluk bir kayıt içinde arama yaparsınız ve ortak olan satırları yine size getirir.

Verdiğim örnekte ilk INNER JOIN'e göre %50 'den fazla performans gösterir.

Sevgilerle
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Cevapla

Etiketler
join, mysql, uygulaması


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
MySQL Nedir ve MySQL C++ Builder Bağlantısı Nasıl Yapılır Swat MySQL 0 01 Temmuz 2014 12:59
Mysql Join SeckiN MySQL 0 13 Ekim 2013 18:17
Multi join | Mass Clone Join Kuruması.. CoCoRiCo mIRC Scripting Hazır Kodlar 4 12 Aralık 2005 08:29