Yalnız Mesajı Göster

SQL Komutları - 1

Eski 06-21-2012   #1
Prof. Dr. Sinsi
Varsayılan

SQL Komutları - 1



CREATE TABLE isciler
(
PK int Primary Key,
ad varchar(50),
soyad varchar(20),
numara int,
tarih DateTime,
evlimi Bit,
Kazanc money,
ozgecmisi note
)

[ isciler adında bir tablo oluşturulur İçindeki alanlar PK ( Birincil Anahtar, Sayı )
AD ( Metin 50 Karekter ) SOYAD ( Metin 20 Karekter ) Numara ( Sayı ) Tarih ( Tarih Saat )
Evlimi ( Evet Hayır ) Kazanc ( Para ) Özgecmisi ( Not ) ]

DROP TABLE [TabloAdı]

[ Tabloyu siler ]

ALTER TALBE isciler ADD son NOTE

[ isciler tablosuna son adında bi alan olusturur alanın özellikleri not'tur ]

ALTER TALBE isciler ALTER son DateTime

[ isciler tablosundaki son alanının özelliğini tarih saat yap ]

[ Önce kayıt varsa değişecek tabloda ve yeni özellik eskisine uymazsa o alandaki bilgiyi siler ]


ALTER TABLE isciler DROP (column) ozgecmisi

[ İşçiler tablosundaki ozgecmisi alanını siler column yazılsada olur yazılmasada ]

[ Silincek alan Birincil anahtarsa silinemez ]



UNION [ Birleştirme ]

İki ayrı select komutunun sonucunda elde edilen tabloların birleşimi
işlemini gerçekleştirir
UNION ile birden fazla SELECT'in sonucu olan tabloların küme birleşimi
işlemine tabi tutulması için 2 koşul gereklidir

1- ) SELECT komutları sonucunda elde edilecek tablolar aynı sayıda
kolon içermelidirler

2)Sonuç tabloları karşılıklı olarak kolonların aynı veri tipi ve aynı
genişlikte olmalıdır


EXISTS : Mevcut İse

Klimadan dolayı servis kaydı açılmış magazalar Alt sorugdaki şartları sağlayan yani o kriterlere uyan kayıtların ana sorgu ( dış sorgu)daki tablodan getirilmesi

SELECT *
FROM magaza
WHERE EXISTS
(SELECT * FROM servis WHERE
magazaMAGAZAADI = servisMAGAZAADI
and ARIZASEBEBI="Klima");



57SELECT *
FROM magaza
WHERE EXISTS
(SELECT * FROM servis WHERE
magazaMAGAZAADI = servisMAGAZAADI
);

57 Soru Join'le yapılır mı ?

[ Servisi Bilgisi Olan Magazaları Getir]



58
SELECT *
FROM magaza
WHERE NOT EXISTS
(SELECT * FROM servis WHERE
magazaMAGAZAADI = servisMAGAZAADI
and ARIZASEBEBI="Klima");

Klima arızası olmayanlar gelir

60
SORU: servis kaydı mevcut olan ancak tutarı boş olan kayıtların magaza bilgilerinin listelenmesi

SELECT *
FROM magaza
WHERE EXISTS
(SELECT * FROM servis WHERE
magazaMAGAZAADI = servisMAGAZAADI
and TUTAR is null
);



SELECT *
FROM magaza
WHERE EXISTS
( SELECT * FROM servis WHERE
magazaMAGAZAADI = servisMAGAZAADI
);
UNION
SELECT *
FROM magaza
WHERE NOT EXISTS
( SELECT * FROM servis WHERE
magazaMAGAZAADI = servisMAGAZAADI
);


=
SELECT *
FROM magaza

SELECT * INTO magaza_yedek
FROM magaza

[ magaza tablosundaki tüm kayıtları magaza_yedek adlı yeni bir tablo oluşturup oraya aktarır eğer magaza_yedek adında önceden bi tablo varsa o tabloyu siler yeniden oluşturur ]

SELECT MAGAZAADI, SEHRI, ADRES INTO magaza_yedek
FROM magaza
WHERE MAGAZAADI like "*m*";

[ Magaza Adında "m" geçen magazaların yedeğini alır ama sadece sehri adresi magaza adını varsa başka alanlar onları almaz ]

SELECT *
FROM magaza
WHERE sehir<>"bebek" AND sehir="Istanbul"

Alıntı Yaparak Cevapla