Respond needs javascript to run. To find out more click here
Projelerim » Sayfa 20 » Serdar Demir
RSS
 

Archive for the ‘Projelerim’ Category

SQL Tablolar

17 Tem

Tablolar: Tablolar SQL-Server da nesne olarak tanımlanır. Tablolar satır ve sütünlardan oluşur.

Tablo oluşturuken verilecek ek özellikler:

-Description: Sütun açıklaması

-Default Value: Sütün değeri boş geçildiğinde hazır bir değerin bağlanması

-Identity: Tabloya kayıt yapılırken otomatik olarak artması istenilen sütün için seçilir.

-Formula: Hesaplanmış bir sutunun formulünü görüntüler örneğin bir sütünün %4 ünü almak için direk formula kısmına yazabiliriz.

-Collation: Dil ayarını belirler Turhkish_Collate_CIAS

bu özellikleri uygulayabileceğimiz ekranı SQL-2000 de sqlltablo seçilip sağ tıklanıp design table diyerek yandaki ekrandan tablolara ek özellikler uygulanabilir.

TABLO OLUŞTURMAK (CREATE TABLE) ve SİLMEK

create table serdar

(

kayitno int,

isim varchar(50),

soyad varchar(50)

)

silme :

Drop table serdar

Tablomuza az önce arayüzü kullanarak vermiş oldugumuz ek özellikleri şimdi kodla vermeye çalışacağız.

SQL Query Editor Çalıştırıyoruz

create table serdar

(

id int identity(1,1) not null,   //* (1,1) 1 den başlayarak 1 er 1 er otamatik arttırıyoruz ve boş geçilmesin istiyoruz

ad varchar(30),

ders text null

)

TABLO DEĞİŞİKLİĞİ (ALTER TABLE):

* Tablomuz üzerindeki değişiklikleri de kodla yapabiliriz Örneğin tablomuza yeni bir sütün ekleyelim

ALTER TABLE serdaralter

ADD sure int

*Yada tablomuzdan bir sütünu silelimalter2

Alter table serdar

Drop column sure



create table serdar
(
kayitno int,
isim varchar(50),
soyad varchar(50)
)
 

SQL ISNULL ve COALESCE komutu

16 Tem

SQL ISNULL ve COALESCE komutu
SQL ISNULL

Bazı Sql sorgularında kimi alanların null değer döndürürdüğünü biliyoruz.Örneğin
select urunid,urun_adi,fiyat from STOK sorgusunda fiyat alanı null değer almışsa yukarıda ki sorguda null döndürecektir.

Sorgu sonucunda null değerlerle karşılaşmamak istemiyorsak sorguyu ;

select UrunId,UrunAdi,ISNULL(Fiyat,0) from STOK olarak değiştirebiliriz.

ISNULL komutunun yazımı :

ISNULL ( kontrol_edilecek_ifade , null_yerine_konacak değer)

Örnek : select ISNULL(Sum(Fiyat),0) from STOK => Fiyat sutununda null olarak dönen değerleri 0 ile değiştirir.

SQL COALESCE
Kullanım amacı ISNULL komutu ile hemen hemen aynıdır.Yalnız ISNULL komutu ANSI standart komutu değildir.Ben genelde Access veya SQL Server üzerinde sorgularda ISNULL komutunu kullanıyorum.

COALESCE kullanıma gelince yukardaki aynı sorgu cümleciğini kullanarak;

select UrunId,UrunAdi,COALESCE(Fiyat,0) olarak kullanabiliriz.

COALESCE fonksiyonuna parametre olarak verdiğiniz ifadeleri birbiriyle kıyaslar,hangisi null değilse onu döndürür.

COALESCE komutunun yazımı : COALESCE(parametre1,parametre2,…..parametre[n])

Gelelim aralarındaki farklara:

COALESCE komutunun yazması,hatırlaması ve telafuzu çok zor.ISNULL komutu ise bu konuda epey avantajlı.
COALESCE ANSI-SQL uyumludur.Hemen hemen tüm veritabanlarında sorgulama yaptırabilirsiniz.ISNULL komutu ise T-SQL uyumlu.Yani Microsoft orijinli (Access,SQL Server) veritablarında kullanabilirsiniz ama örneğin Firebird ‘de denenerseniz bu komut tanınamaz.
ISNULL mutlaka iki parametre ile kullanılır.Birden fazla parametre ile kullanmak isterseniz iç içe(nested) kullanmak durumundayız.COALESCE bu yönden epey işe yarar.İkiden fazla parametreyi kullanabiliriz.Bu söylediklerimizi komut dökersek;
SELECT COALESCE(NULL, NULL, ‘fe’)==> fe değerini döndürür.(İkiden fazla parametre)

SELECT ISNULL(NULL, NULL, ‘fe’) ==>hata meydana gelir.Çünkü mutlaka iki parametre kullanmak durumundayız.

Bu hatayla karşılaşmamak için komutu iç içe (nested) kullanacağız;

SELECT ISNULL(NULL, ISNULL(NULL, ‘fe’)) ==>fe değeri döner.

 

SQL sorgusuyla doğum günü bulma

16 Tem

SQL sorgusuyla doğum günü bulma
Merhaba Arkaşlar,

Bu yazıda SQL sorgusu ile doğum günü bugün olanları bulduracağız.

Örnek tablomuzun adı MUSTERI olsun ve tabloda müşterinin Ad soyad ve doğum tarihi bilgilerini tutan şu alanlar
[ADSOYAD varchar(50)]
[DT (datetime)]
olsun.

Sorguyu Access için yaparsak bugünün tarihini döndüren NOW fonskiyonunu,
SQL Server için yaparsak GETDATE() fonksiyonunu kullanacağız.

Access Sorgusu:

select ADSOYAD,DT from MUSTERI where DAY(DT)=DAY(NOW) and MONTH(DT)=MONTH(NOW)

SQL SERVER(T-SQL) sorgusu:

select ADSOYAD,DT from MUSTERI where DAY(DT)=DAY(GETDATE()) and MONTH(DT)=MONTH(GETDATE())