25/12/2005 - SQL Sorguları
Yazmaya başlamadn önce kullanacağım tabloları çizeyim.
| PERSONEL | | personel_id | ad | soyad | bolum_id | | 1 | suat | tuncer | 1 | | 2 | kenan | duman | 3 | | 3 | yalçın | metin | 2 |
| BÖLÜM | | bolum_id | bolum | | 1 | kaporta | | 2 | saha | | 3 | muhasebe |
FROM : verileri hangi tablo yada tablolardan alıcağımı belirtmek için kullanıyorum
select * from personel SELECT : en temel sorgu diyeyim, veritabından verileri çekmek için kullanıyorum. Örneğin personel tablosundaki tüm bilgileri almak için; select * from personel sadece personel adı için; select ad from personel personel adı ve soyadını tek bir sütunda yazmak için; select ad+' '+soyad as eleman from personel ad ve soyadı birleştirdim ve eleman isminde bir sütünda gösterdim WHERE : Bazı kriter ve şartlar belirtmek için kullanıyorum, select * from personel where ad like 'suat' personel tablosunda adı suat olan tüm kayıtları getir select * from personel where ad like 'kenan' and bolum_id=1
personel tablosunda adı suat ve bolüm_id 'si 1 olan (yani bölüm tablosundaki kaporta olan) tüm kayıtları getirir
INSERT INTO : veri tabanına kayıt eklemek için kullanıyorum
personel tablosuna, adı ayşe,soyadı tuna, bölümü muhasebe olan birini ekliyecem
insert into personel (ad, soyad, bolum_id) values ('ayşe', 'tuna',3) UPDATE .. SET : Veritabanındaki bir kaydı değiştirmek için kullanıyorum Diyelim Ayşe evlendi ve soyadı değişti, Ayşe Kelam oldu update personel set soyad="Kelam" where personel_id=4 (Ayşenin personel_id'sini 4 kabul ettim ) Burda çok önemli bir nokta var : update personel set soyad="Kelam" Eğer sorgumu yukardaki gibi yazsaydım yani where ile hangi personel olduğunu belirtmeseydim personel tablosundaki herkesin soyadı "Kelam" olacaktı. UPDATE İFADESİ WHERE OLMADAN KULLANILMAMALI DELETE : Veritabanından kayıt silmek için kullanıyorum Örneğin Kenan Duman işten çıkarıldı delete * from personel where personel_id=2 INNER JOIN : Tablolar arasında ilişki kurmak için kullanılıyor . . . inner join yerine daha çok şu yöntemi kullanıyorum: select p.ad, b.bolum from personel p, bolum b where p.bolum_id=b.bolum_id tablolara birer alias(personele p, bolume b gibi) veriyorum ve bunların ilişkilerini where ile belirtiyorum, daha pratik oluyor GROUP BY : . DEVAM EDECEK...
|