SQL LIKE-IS NULL-NOTNULL-ORDER BY
SQL LIKE-IS NULL-NOTNULL-ORDER BY SQL MONTH, SQL YEAR, SQL GETDATE KULLANIMI
SQL LIKE Kullanımı (Benzerlik)
% bundan sonra yazılanlar fark etmez. önce yazılır ise fark eder
a% ---------- a ile başlasın
%a% -------- içinde a geçenler
--'_' tek Karakteri ifade eder hangi karakterin olduğu fark etmez.
Daha önceki dersimizde de biraz değinmiştik benzeyen kelimeleri getiriyor.
örnek verelim..
select * from Products where ProductName LIKE 'A%'
Aile başlayanları gösterelim
SQL LIKE Kullanımı |
SQL LIKE ile içinde geçen harfler yani direk isimde ola bilir benzerini veya aynı olanı getirsin demek ister isek ;
select * from Customers where ContactName LIKE '%Maria%'
SQL LIKE
|
/*
SORGU YAZARKEN İZLENECEK YÖNTEM
1. Hangi komutu kullanacağına karar ver.(SELECT)
2. Hangi tablo ile çalışacağına karar ver
3. Hangi kolonları görüntüleyeceği ne karar ver.
4. Varsa kriterini(Koşulunu) belirle.
*/
Harf aralıklarını nasıl bula biliriz SQL de ?
C ile başlayan ücüncü harfi O olan ürün bilgilerini getirin. dersek SQL de komut şu şekilde olacaktır.
SQL LIKE |
NOT harf aralıklarını örnek olarak şu kadar harf aralığında olsun demek isterseniz SQL de onuda şu şekilde belirtmelisiniz.
yukarıda olan tablodan örnek verelim.
select * from Products where ProductName LIKE 'C_O______'
Şeklinde kullanmamız gerekiyordu neden "_"karakter belirtiyor.
c ile başlayan 3.harfi a ile o arasında olan ürünleri getir dersek.
select * from Products where ProductName LIKE 'C_[a-o]%'
SQL LIKE HARF ARASI GETİR |
Pekı SQL de bunları getirme demiş olursak onuda şu komut ile yapmamız gerekiyor.
SELECT * FROM Products WHERE ProductName Like 'c_[^o]%'
Eğer son kelimeyi baza alır isek
select * from Products where ProductName LIKE 'C_O%ade'
yapardık ve ekrana şöyle bir sonuç çıkardı.
SQL LIKE SON HARFİ |
SQL IS NULL KULLANIMI
CUSTOMERS tablosunda bulunan region değerleri NULL olanları getir demek istersek
SELECT * FROM Customers c WHERE c.Region is null
Bu komutta ola bilirdi fark etmiyor.
SELECT * FROM Customers WHERE Region is null
SQL IS NULL |
Peki NULL olanları getirdik de diğerlerini getirmek istersek eğer.
SELECT * FROM Customers c WHERE c.Region is not null
SQL IS NOT NULL |
SQL ORDER BY Kullanımı
ASC (A den Z ye) --Ascending artarak
DESC (z den a ya) -- Descending Azalarak
SELECT * FROM Products p ORDER BY p.ProductName DESC
ASC DESC SQL |
SQL de Fiyata Göre sıralama yapmak istersek eğer.
SELECT p.ProductName,p.UnitPrice,p.UnitsInStock FROM Products p order by p.UnitPrice DESC
SQL ORDER BY DESC |
Tarihler arası bir aramaya yapalım ve sıralayalım demek istersek eğer SQL de .
'1996-01-01' '1996-10-31' Tarihleri arasını getir demek istersek.
SELECT * FROM Orders where OrderDate BETWEEN '1996-01-01' AND '1996-10-31' ORDER BY OrderDate DESC
ikinci komut
SELECT o.OrderID,o.OrderDate,o.ShipCity,o.ShipCountry FROM Orders o
WHERE o.OrderDate > '01-01-1996' AND o.OrderDate < '10-31-1996'
ORDER BY 2 DESC
diğer bir komut ise 1996 yılını getirmektedir.
SELECT o.OrderID,o.OrderDate,o.ShipCity,o.ShipCountry FROM Orders o
WHERE YEAR(o.OrderDate) = 1996 ORDER BY 2 DESC
SQL ORDER BY DESC BETWEEN |
SQL YEAR SQL MONTH DAY SQL GETDATE
-->> YEAR(Tarih) --> Girilen tarihin yıl bilgisini verir.
-->> MONTH(Tarih) --> Girilen tarihin ay bilgisini verir.
-->> DAY(Tarih) --> Girilen tarihin gün bilgisini verir.
-->> GETDATE() --> Şuanki tarihi ve saati verir.
Eğer 10 cu aydan küçük olanları getir demek istersek SQL de
SELECT o.OrderID,o.OrderDate,o.ShipCity,o.ShipCountry FROM Orders o
WHERE YEAR(o.OrderDate) = 1996 AND MONTH(o.OrderDate) < 10 ORDER BY 2 DESC
SQL ORDER BY MONTH YEAR |
--Doğum günü bugün olan çalışanların(Employees) AdSoyad(FirstName + LastName), DoğumTarihi(BirthDate) ve Ünvan(Title) bilgisini getiren sorgu
SELECT e.FirstName + ' ' + e.LastName as 'AdSoyad',e.BirthDate,e.Title FROM Employees e
WHERE MONTH(e.BirthDate) = MONTH(GETDATE()) AND DAY(e.BirthDate) = DAY(GETDATE())
ise şubat ayında doğanları getir demek istersek eğer
SQL ayları getirme |
SQL candır Can.
YanıtlaSil