SQL komutalarından en çok kullanılanlarından birisi SELECT yani veri çekme komutudur. Bu komutu etkili şekilde kullanarak dilediğiniz verileri hızlı bir şekilde çekebilir ve en doğru sonuçları kullanıcılarınıza gösterebilirsiniz.
Konuya geçmeden birkaç kelimenin karşılığını vereyim.
column:sütun
row:satır
field:alan
table:tablo
SELECT * FROM tablename
Tüm satır ve sütunları çeker
SELECT column FROM tablename
Belirli bir sütunu çeker
SELECT sum(column) FROM tablename
Belirli bir sütundakilerin toplamını çeker
SELECT distinct column FROM tablename
Belirli bir sütundaki farklı (eşsiz) verileri çeker
SELECT * FROM tablename WHERE condition
Koşula uyan tüm satır ve sütunları çeker
SELECT * FROM tablename WHERE BINARY condition
Koşula uyan tüm satır ve sütunları çeker. Koşul büyük-küçük harf duyarlıdır
SELECT * FROM table1 INNER JOIN table2 on table1.id=table2.id
İki tabloyu birleştirip tüm satır ve sütunları çeker
SELECT table1.* FROM table1 INNER JOIN table2 on table1.id=table2.id
İki tabloyu birleştirip sadece table1’in satır ve sütunlarını çeker
SELECT LAST_INSERT_ID() as new_id
Son kaydedilen ID’yi new_id değişkenine atayarak çeker
SELECT max(column) AS alias
Bir sütundaki en büyük sayıyı alias değişkenine atayarak çeker
SELECT * FROM table ORDER BY column
Belirtilen sütuna göre sıralama yaparak satırları çeker
SELECT * FROM table LIMIT 10,20
10uncu satırdan sonraki ilk 20 satırı çeker
Bazı SQL SELECT Komutları
56 sec read
Güzel bir çalışma olmuş. Tebrik ederim
Join komutu ile ilgili biraz daha fazla örnek koyabilirmisiniz.
Peki veri tabanımızda bulunan bir tablonun içindeki herhangi bir sutün içindeki bilgilerden örneğin a ile başlayanları nasıl çekebiliriz
@fatih, şu şekilde arama yapabilirsin.
SELECT isim FROM bilgiler WHERE isim LIKE "%a"a ile başlayanlar a% çekmiyor mu?
Senin söylediğin doğru, yani kod aşağıdaki gibi olmalı;
SELECT isim FROM bilgiler WHERE isim LIKE "a%"
Inner Join ile ilgili daha fazla örnek olsa iyi olur. Ayrıca View ve SP'ler ile ilgili fazlaca makale olsa da iyi olur.
peki tablo ismi belirtmeden tüm tabloları nasıl seçebiliriz tşkler
Yanlışım varsa arkadaşlar düzeltecektir ancak benim bildiğim kadarıyla table belirtilmeden tek sorguda tüm tabloları çekmen mümkün değil. Üstelik mantıklı da değil.İki yada daha fazla tabloyu seçerken bile bir mantığa göre ikisini birleştiriyorsun (ortak verilerin eşleştiği durumda gelmesi gibi).Amacın diyelimki 3 tablonun tüm verilerini çekmek ise şu şekilde tablo isimlerini vermek gerekmekte.(daha fazla sayıda da olabilir)
SELECT A.*,B.*,C.* FROM uyeler as A, ziyaretciler as B, makaleler as C
Çok farklı yapılardaki tabloları alt alta dump etmek istiyorsan sorgu sonuçlarını php ile birleştirebilirsin ama hala mantıklı olmaz elde edeceğin şey.(lakin olabilirde – şimdi kullanım alanı olarak mantıklı gelmiyor gerçi)
Tablolardaki belli alanları çekip alt alta birleştirmek için UNION kullanabilirsin.Ama tablo adları yine lazım
Örneğin ;
SELECT uyeler_isim FROM uyeler
UNION ALL
SELECT ziyaretciler_isim
emeğinize sağlık çok faydalı oldu
ben birden fazla tablodan en büyük olanını çekip bunları başka bir tabloya kaydetmek istiyorum yardımcı olabilirmisiniz?
Elinize sağlık çok faydalı bir yazı olmuş.
sql de column u hariç tutma varmı
örnek; tabloda 100 ad columns var 1 column hariç select !column , * from gibi bişey varmı acaba