Category Archives: T-SQL

SQL Server cədvəlin hər hansı bir sətrini seçmə


Başlıq biraz başa düşülən olmadığının fərqindəyəm.Hər hansı bir cədvəlin bizə sadəcə 5ci sətri lazımdır.Bunun üçün aşağdakı şəkildə bir script işinizi görəcək bunun sp yaradıbda istifadə edə bilərik.

WITH Cedvel_c AS 
(
select *,
setrSayi = row_number() OVER ( order by ID ) -- Sətrin sayını row_number() funksiyası ilə götürürük.order by etmək istədiyiniz Column adını yazırıq.
from Cedvel_Adı
)
SELECT *
FROM Cedvel_c
WHERE setrSayi = 5

SQL Server COALESCE funksiyası


Sorğu işlədərkən gələn məlumatda olan NULL dəyərlər bəzən görmək istəmirik,bunun üçün müxtəlif yollar var,bunlardan biridə COALESCE funksiyasıdır.Bu funksiya NULL dəyərləri replace edib istədiyimiz dəyərlə dəyişirik.İstifadəsinə baxaq

Select
Ad,
Soyad,
COALESCE(Yas,'-') as Yas -- Əgər Yas sütununda NULL dəyər varsa "-" ilə əvəz olunacaq.
From İstifadeciler

SQL Server sütunları birləşdirmək


Cədvəldə ki sütunları birləşdirmək üçün sadəcə toplamda olduğu kimi bu dəfədə mətn tipli olanları bir-birinin üzərinə gəlmək lazımdr

SELECT sutun1 + '_' + sutun2 + '_' + sutun3 as netice FROM cedvel -- burda birləşdirdik,update sorğusundada eyni qayda qalacaq
UPDATE CEDVEL
SET
NETICE= sutun1 + '_' + sutun2 + '_' + sutun3

SQL Server Replace istifadəsi


Replace istifadə edərək seçdiyiniz məlumatı dəyişə bilərsiz.Nümünələrə baxaq

SELECT Replace('abc', 'c', 'X')

abc – dəyişəcək məlumat
c – dəyişən məlumat
X – yazılacaq məlumat

— Nəticə : abX

Bir cədvəldə bütün bir sütunun məlumatlarının sonundakı -2`ni -1 ilə əvəz etmək istəsək bu şəkildə UPDATE sorğusu yaza bilərik :

UPDATE CədvəlAdı
SET ColumnAdı= replace(ColumnAdı,'-2','-1')

msdn repcale

SQL Server 2008 EXCEPT və INTERSECT operatorları


SQL Server 2008 ilə gələn daha bir yeniliklərdən biri EXCEPT və INTERSECT.
EXCEPT  və INTERSECT iki fərqli sorğunun qarşılaşdırılmasınan ibarətdir.

EXCEPT operatorunda 1ci sorğudan gələn nəticədə olub 2ci sorğudan gələn nəticədə olmayan sətrləri tapır

SELECT * FROM CEVDEL1 -- CEDVEL1`də olub,CEDVEL2`də olmayan sətrləri göstərir.
EXCEPT
SELECT*FROM CEDVEL2

INTERSECT isə 1ci və 2ci sorğudan gələn nəticlərdə eyni olan sətrləri göstərir.

SELECT * FROM CEVDEL1 -- CEDVEL1`də və CEDVEL2`də olan eyni sətrləri göstərir.
INTERSECT
SELECT*FROM CEDVEL2

SQL Server 2008 çoxlu insert etmək


SQL Server 2008 ilə gələn yeniliklərdən biri çoxlu insert(Multiple Insert) etməkdir.
Bu əməliyyata Microsoft Table Value Costructor adını verib.

INSERT INTO dbo.Cedvel_dil
       (Dil,Sirket)
VALUES
	('csharp', 'Microsoft'),
	('java', 'Oracle')

SQL serverdə cədvəl və kolon adlarını axtarmaq


Bəzən SQL Serverdə cədvəl və kolonları axtarmaq ehtiyacı olur belə bir kodla istədiyimiz cədvəlin vəya kolonun harda yerləşdiyini tapa bilərik.

-- Cədvəl üçün
select*from INFORMATION_SCHEMA.tables where table_name like '%AxtaracağımızSöz%'
-- Kolon üçün
 select*from INFORMATION_SCHEMA.columns where Column_name like '%AxtaracağımızSöz%'