Əlaqəli yazılar

SQL9: Join (1-ci hissə)

Bəzən elə hesabat olur ki, bir neçə cədvəldə olan məlumatdan istifadə edəsi oluruq, çünki işçilərə dair ayrı-ayrı məlumatlar müxtəlif cədvəllərdə saxlanılır. Məsələn, işçilərin adları, kodları, iş stajı, maaş və mobil telefonları, töhmət alıb-almadığını əks etdirən hesabat lazım ola bilər. Bu zaman elə bir script yazmaq lazımdır ki, həmin cədvəllərdə olan məlumatları bir cədvəldə toplasın. Bunun üçün join funksiyasından istifadə edirik.

Join funksiyasını istifadə edərkən, hər bir cədvələ ədədlər çoxluğu kimi baxılır. Bu çoxluqların kəsişən hissəsi və kəsişməyən hissələri olur. Bunu aşağıdakı qrafik üzərində izah edək:

 

sql9-1

 

A çoxluğu ishchi_siyahi, B çoxluğu isə ishchi_tel cədvəllərini təmsil edir.

Əgər bizə hal-hazırda işləyən işçilərin kodları, adları və telefon nömrələri lazımdırsa, A çoxluğu  ilə B çoxluğunu işçi koduna əsasən əlaqələndiririk. Daha sonra A çoxluğunu əsas götürərək B çoxluğunda olan nömrələri cədvələ əlavə edirik. Yekun script forması aşağıdakı kimi olacaq:

sql9-2

select a.id, a.ad_soyad,b.mob_tel

from ishchi_siyahi as a left join ishchi_tel as b on a.id=b.id

Nəticə:

sql9-3

Soldakı cədvəlin (ishchi_siyahi) əsas götürülməsi üçün left join birləşdiricisindən istifadə olunur.

Nəticədən göründüyü kimi  1 işçinin (10031 kodlu) mobil nömrəsi bazada yoxdur.

Bazada mobil nömrəsi olan işçilərin kodları və adları olan cədvəl tərtib etmək  lazım olarsa, aşağıdakı scriptdən istifadə olunur:

 

sql9-4

select a.id, a.ad_soyad,b.mob_tel

from ishchi_siyahi as a right join ishchi_tel as b on a.id=b.id

Nəticə:

sql9-5

Sağdakı cədvəlin (ishchi_tel) əsas götürülməsi üçün right join birləşdiricisindən istifadə olunur.

____________________________________________________________________________________________________________________________

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.