11 Şubat 2010 Perşembe

SQL Komutları Nelerdir ?

Arkadaşlar sizlere aşağıda pratik olması için SQL Komutlarını yazdım. Bence her web geliştiricisinin arşivinde bulunması gereklidir.
Kullanmadıktan bir süre sonra bu komutları unutabiliyoruz.

* DISTINCT: Birbirinin aynı olan satırların listelenmemesi için bu ifade kullanılır

"SELECT DISTINCT USERNAME FROM USERS"

* IN: Koşul belirtirken kullaniriz. Örneğim ismi a,b,c olan üyelerin bilgilerini listelemek için kullanılır.

"SELECT * FROM USERS WHERE USERNAME IN ('a','b','c')"

* LIKE: Eğer aradığımız kayıtıb bulunması için tam bir karşılaştırma yapamıyor isek bu komutu kullanırız. { Genel MySQL İnjection'da çok işimize yarar }

"SELECT * FROM USERS WHERE USERNAME LIKE '%A'"

* BETWEEN: Koşul belirtirken iki değer arasını belirtmek için kullanılır.
Örneğin üyelerimizin içindeki 20 ile 30 yaş arasındaki üyelerin kayıtlarını listelemek için kullanılır.

"SELECT * FROM USERS WHERE AGE BETWEEN 20 AND"

* SUM: Seçilen değerlerin toplamını bulur. Üyelerin yazdığı toplam mesajı bu şekilde görebiliriz.

"SELECT SUM(MESSAGE) FROM USER"

* MAC,MIN,AVG: Verilen değerin en büyüğünü, en küçüğünü ve ortalamasını bulur. MAX en büyük değeri, MIN en küçük değeri,
AVG ise değerlerin ortalamasını bulur.

"SELECT MAX(UCRET), MIN(UCRET), AVG(UCRET) FROM USERS WHERE TIME>'00.00.0000'"

* ORDER BY ASC: Tablodan seçtiğimiz kayıtları alfabetik olarak sıralamak için kullanılır.

"SELECT * FROM USERS ORDER BY ASC"

* ORDER BY DESC: Tablodan seçtiğimiz kayıtları son kayıt sırasına göre sıralamak için kullanılır.

"SELECT * FROM USERS ORDER BY DESC"

* ALIAS: Genelde tablonub veya kolonun adını başka bir şeymiş gibi değişebiliriz. Dahada açarsam mesela veritabanına USER_NAME olarak kayıt ettiğimiz bir kolonu eğer ister isek SQL'den USRNM olarak çağırabiliriz.

"SELECT USER_NAME AS USRNM FROM USERS"

*JOIN: Bazen iki yada daha fazla tablodan veri çekmemiz gerekebiliri, bu gibi durumlarda bu method'u kullanırız.
Birbiri ile ilişkilendirilmiş iki tablomuz var biri USERS diğeride DETAILS olsun.
İki tablodanda aynı anda sorgulama veya veri çekeceğiz. Üyeler tablosunda Id=54 ise detaylar tablosundaki karşılığı ise MEMBERSNUMBER=54 yapıyoruz.

"SELECT * FROM USERS,DETAILS WHERE USERS.ID=DETAILS.MEMBERSNUMBER"

INNER JOIN OLARAK,

"SELECT * FROM USERS INNER JOIN DETAILS ON USERS.ID=DETAILS.MEMBERSNUMBER"

LEFT JOIN OLARAK,

"SELECT * FROM USERS LEFT JOIN DETAILS ON USERS.ID=DETAILS.MEMBERSNUMBER"

* UNION VE UNION ALL: Join methoduna benzer ama sadece aynı kolonlar sahip tabloları birbirine bağlar. USERS ve DETAILS tablosundaki USERNAME 'leri sorgular.

"SELECT USERNAME FROM USER UNION SELECT USERNAME FROM DETAILS"

Sadece UNION kullanırsak iki tabloda aynı isimler olsa bile tekrarlar.
UNION ALL kullarnırsak ise iki tabloda aynı isimler olsa bile sadece tekini sorgular.

"SELECT USERNAME FROM USERS UNION ALL SELECT USERNAME FROM DETAILS"

Tabiki bunlar genel olan SQL komutlarıdır. Bunlardan başka bazı komutlar daha kullanılmaktadır.

Bu makale r4dBlack tarafından hazırlanmıştır. Kaynak gösterilerek bir kısmından veya tamamından alıntı yapılabilir.
http://r4dblack.blogspot.com

Hiç yorum yok: