Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
   
Konu: Mysql Bağlaçlar (Operatörler)
Stallk3r
*
avatar
Albay
Durum: Çevrimdışı
Seviye Puanı: 34
Yaşam Puanı: 718 / 826
Deneyim: 4 / 100
Rep Sayısı: 425
Mesaj Sayısı: 1618
Üyelik Tarihi: 06.11.2013
     
Yorum: #1
Mysql Bağlaçlar (Operatörler)
12.05.2015 20:34
WHERE koşul yapısında birden fazla koşul belirteceksek AND, OR ve NOT bağlaçlarından uygun olanı kullanırız.

AND bağlacı, iki koşula da uyan sonuçları listelememizi sağlar.

SELECT isim, yas, email FROM tablom
WHERE isim = "J4CK4L" AND yas = "17";


Kod:
+-------+-----+----------------+
| isim  | yas | email          |
+-------+-----+----------------|
| J4CK4L  | 17 | [email protected]   |
+-------+-----+----------------+
NOT:KUCUK HARFLERLE YAZMANIZ TERCİH EDİLİR

OR bağlacı iki durumdan birine uyan kayıtları listeler:

SELECT isim, yas, email FROM tablom
WHERE isim = "J4CK4L" OR isim = "DaRKNeSS";


Kod:
+-------+-----+----------------+
| isim  | yas | email          |
+-------+-----+----------------|
| J4CK4L  | 17  | [email protected]   |
|DaRKNeSS | 18  | [email protected] |
+-------+-----+----------------+


NOT ifadesi bir bağlaçtan ziyade bir koşulun tersinin gerçekleştiğinde geçerli olacağını söylemektir. Yani eğer var olan bir koşulun önüne NOT eklersek, o koşul gerçekleşmiyorsa doğru olarak kabul edilecektir. Örneğin:

SELECT isim, yas, email FROM tablom
WHERE isim NOT LIKE "%a%";

Kod:
+-------+-----+----------------+
| isim  | yas | email          |
+-------+-----+----------------|
| j4ck4l | 17  | [email protected] |
|DaRKNeSS | 18| [email protected] |
+-------+-----+----------------+


Görüldüğü üzere LIKE teriminin önüne gelen NOT yardımıyla isim sütunundaki değerde A harfi bulunmayanları listelettik.

Koşul alanında kullanacağımız parantez, tıpkı matematikteki gibi öncelikle dikkate alınacaktır. Parantez dışındaki kısımsa parantez ile karşılaştırılır. Örneğin tablomuza göre Adı Ali ya da Sevim olup yaşı 30 dan az olanları listeleteceğimiz bir sorgu yapacak olsaydık:


SELECT isim, yas, email FROM tablom
WHERE ( isim = "j4ck4l'' OR isim = "DaRKNeSS" ) AND yas < 18


Kod:
+-------+-----+----------------+
| isim  | yas | email          |
+-------+-----+----------------|
|DaRKNeSS | 18  | [email protected] |
+-------+-----+----------------+


IN ve BETWEEN Kullanımı

Aşağıdaki örnekte görülen bir sorguyu:

SELECT * FROM uyeler WHERE id = 3 OR id = 6 OR id = 7;

Bu şekilde uzun yazmak yerine IN(...) kullanabiliriz:

SELECT * FROM uyeler WHERE id IN(3, 6, 7);

Kullanırken parantez içine virgüllerle ayrılarak değerler yazılır. Eğer parantez içinde belirtilen değerleri içermeyenleri seçeceksek id NOT IN() kullanabiliriz.

SELECT * FROM uyeler WHERE id NOT IN(3, 6, 7);

BETWEEN (arasında) ise belli sayı aralıklarındaki verileri vermemizi sağlar, lafın gelişi:

SELECT * FROM uyeler WHERE id >= 60 AND id <= 100;

Yukarıdaki sorgu aşağıdaki ile ifade edilebilir:

SELECT * FROM uyeler WHERE id BETWEEN 60 AND 100;

Aynı şekilde NOT eklenerek ilgili aralıktaki sayıların seçilmediği sorgular yapılabilir:

SELECT * FROM uyeler WHERE id NOT BETWEEN 60 AND 100;

Yukarıdaki sorgu da 60-100 arasında olmayan sayıları seçecektir.

IS NULL ve IS NOT NULL

Bir sütun hiçbir değer içermeyebilir. Bir sütun eğer null (tanımsız) değer alabiliyorsa bunu WHERE koşul kısmında koşul olarak sorgulatabiliriz. Örneğin:


SELECT * FROM uyeler WHERE email IS NULL;

Ya da tanımsız değer değilse koşulunu NOT getirerek yapabiliriz:

SELECT * FROM uyeler WHERE email IS NOT NULL;
(Bu konu en son: 12.05.2015 Tarihinde, Saat: 21:32 düzenlenmiştir. Düzenleyen: Stallk3r.)

Dans ederken görülenler deli sanılır, Müziği duymayanlar tarafından.
Alinti
#H4CK4L
*
avatar
#R00T
Durum: Çevrimdışı
Seviye Puanı: 43
Yaşam Puanı: 1,054 / 1,054
Deneyim: 17 / 100
Rep Sayısı: 1057
Mesaj Sayısı: 3025
Üyelik Tarihi: 04.05.2013
      
Yorum: #2
Cvp: Mysql Bağlaçlar (Operatörler)
12.05.2015 20:50
Eline sağlık Smile

Çocukken her akşam yatmadan önce Tanrı'ya bana bir bisiklet vermesi için dua ederdim. Bir gün Tanrı'nın çalışma tarzının bu olmadığını anladım. Ertesi gün gittim kendime yeni bir bisiklet çaldım ve her akşam yatmadan önce Tanrı'ya günahlarımı affetmesi için dua ettim.
Alinti
Rep Verenler: Stallk3r
Stallk3r
*
avatar
Albay
Durum: Çevrimdışı
Seviye Puanı: 34
Yaşam Puanı: 718 / 826
Deneyim: 4 / 100
Rep Sayısı:
Mesaj Sayısı: 1618
Üyelik Tarihi: 06.11.2013
     
Yorum: #3
Cvp: Mysql Bağlaçlar (Operatörler)
12.05.2015 21:12
Eyvallah abim diline sağlık Exciting

Dans ederken görülenler deli sanılır, Müziği duymayanlar tarafından.
Alinti
DaRKNeSS
*
avatar
Binbaşı
Durum: Çevrimdışı
Seviye Puanı: 53
Yaşam Puanı: 1,315 / 1,315
Deneyim: 60 / 100
Rep Sayısı: 124
Mesaj Sayısı: 5584
Üyelik Tarihi: 11.08.2013
     
Yorum: #4
Cvp: Mysql Bağlaçlar (Operatörler)
12.05.2015 21:26
eline sağlık kardeşim


Alinti
Stallk3r
*
avatar
Albay
Durum: Çevrimdışı
Seviye Puanı: 34
Yaşam Puanı: 718 / 826
Deneyim: 4 / 100
Rep Sayısı:
Mesaj Sayısı: 1618
Üyelik Tarihi: 06.11.2013
     
Yorum: #5
Cvp: Mysql Bağlaçlar (Operatörler)
12.05.2015 21:31
Diline sağlık kardeşim Exciting

Dans ederken görülenler deli sanılır, Müziği duymayanlar tarafından.
Alinti



1 Ziyaretçi