SQL - WHERE Maddesi

SQL WHEREyan tümce, verileri tek bir tablodan alırken veya birden çok tabloyla birleştirerek bir koşul belirtmek için kullanılır. Verilen koşul karşılanırsa, yalnızca tablodan belirli bir değer döndürür. Kayıtları filtrelemek ve yalnızca gerekli kayıtları almak için WHERE yan tümcesini kullanmalısınız.

WHERE yan tümcesi yalnızca SELECT deyiminde kullanılmaz, aynı zamanda sonraki bölümlerde inceleyeceğimiz UPDATE, DELETE deyiminde vb. De kullanılır.

Sözdizimi

SELECT deyiminin WHERE yan tümcesi ile temel sözdizimi aşağıda gösterildiği gibidir.

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition]

Karşılaştırma veya >, <, =, gibi mantıksal operatörleri kullanarak bir koşul belirtebilirsiniz.LIKE, NOT, vb. Aşağıdaki örnekler bu kavramı netleştirecektir.

Misal

Aşağıdaki kayıtlara sahip MÜŞTERİLER tablosunu düşünün -

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

Aşağıdaki kod, maaşın 2000'den fazla olduğu MÜŞTERİLER tablosundan Kimlik, Ad ve Maaş alanlarını getirecek bir örnektir -

SQL> SELECT ID, NAME, SALARY 
FROM CUSTOMERS
WHERE SALARY > 2000;

Bu, aşağıdaki sonucu verecektir -

+----+----------+----------+
| ID | NAME     | SALARY   |
+----+----------+----------+
|  4 | Chaitali |  6500.00 |
|  5 | Hardik   |  8500.00 |
|  6 | Komal    |  4500.00 |
|  7 | Muffy    | 10000.00 |
+----+----------+----------+

Aşağıdaki sorgu, adı olan bir müşteri için MÜŞTERİLER tablosundan Kimlik, Ad ve Maaş alanlarını getirecek bir örnektir. Hardik.

Burada, tüm dizelerin tek tırnak ('') içinde verilmesi gerektiğine dikkat etmek önemlidir. Oysa sayısal değerler yukarıdaki örnekte olduğu gibi alıntı yapılmadan verilmelidir.

SQL> SELECT ID, NAME, SALARY 
FROM CUSTOMERS
WHERE NAME = 'Hardik';

Bu, aşağıdaki sonucu verecektir -

+----+----------+----------+
| ID | NAME     | SALARY   |
+----+----------+----------+
|  5 | Hardik   |  8500.00 |
+----+----------+----------+