Əlaqəli yazılar

SQL10: Join (2-ci hissə)

Hesabat tərtib edərkən bir cədvəldə olan məlumatlara digər cədvəldə olan məlumatlar ilə birləşdirilməsi üçün join funksiyasından istifadə edilir. İki cədvəl biri  sağda digəri isə solda yerləşir və müvafiq olaraq right join və left join funksiyalarından istifadə olunur. Əsas cədvəl hansıdırsa joinin həmin cədvəlinə uyğun olanı seçilir və digər cədvəldə olan məlumatlar bu cədvələ əlavə edilir. Bunu aşağdakı çoxluqlar üzsql10-1ərində göstərək.

A çoxluğu hal-hazırda işləyən işçiləri, B çoxluğu isə hal-hazırda şirkətdə işləyib-işləməməyindən asılı olamayaraq töhmət almış işçilərin siyahısnı və töhmətin növünü özündə saxlayan cədvəllləri təmsil edir.

Hal-hazırda şirkətdə işləyən və töhmət almış işçilərin siyahısını hazırlamaq lazım olarsa, A çoxluğu ilə B çoxluğunun kəsişməsində olan işçilərin siyahısını əldə etməliyik. Bunun üçün   aşağıdakı scriptdən istifadə edilir:

select a.id, a.ad_soyad, b.tohmet

from ishchi_siyahi as a inner join ishchi_tohmet as b on a.ID=b.ID

sql10-2

Nəticə

sql10-6

Hal-hazırda şirkətdə işləyən və töhmət almayan işçilərin siyahısını hazırlamaq lazım olsa, B çoxluğunda olmayan A çoxluğunda olan işçilərin siyahısını əldə etməliyik. Aşağıdakı script vasitəsilə bunu edirik:

select a.id, a.ad_soyad, b.tohmet

from ishchi_siyahi as a left join ishchi_tohmet as b on a.ID=b.ID

where a.id not in (select id from ishchi_tohmet)

sql10-4

Nəticə

sql10-7

İşdən çıxmış və töhmət almış işçilərin siyahısını hazırlamaq üçün isə  B çoxluğunda olan və A çoxluğunda olmayan işçilərin siyahısını hazırlamaq lazımdır. Bunun üçün aşağıdakı scriptdən istifadə etmək lazımdır:

select b.id, b.tohmet

from ishchi_siyahi as a right join ishchi_tohmet as b on a.ID=b.ID

where b.id not in (select id from ishchi_siyahi)

sql10-4

Nəticə

sql10-8


Buradaykən, Sizdən kiçik bir xahişimiz var. Bildiyiniz kimi, biz – “INNAB” komandası olaraq ana dilində peşəkar inkişafı təmin etmək məqsədi ilə məzmun (kontent) yaratmaqla da məşğuluq. İşinə məsuliyyətlə və həvəslə yanaşan komandamız bu işi təmənnasız şəkildə yerinə yetirir. Komandamız məzmunlarımızın daha çox insanların izləməsini görüb daha da motivasiya olur. Bu işdə sizin də dəstəyinizə ehtiyacımız var. Bu postu paylaşmaqla, həmçinin hər baxıb bəyəndiyiniz videoları, məqalələri daha çox insana tövsiyyə etməklə, youtube kanalımıza, bloqumuza, facebook/linkedin/instagram səhifəmizə abunə olmaqla həm bizi motivə edə, həm də peşəkar inkişafınız üçün zəmin yarada bilərsiniz.