PostgreSQL INTERSECT

PostgreSQL INTERSECT,İntersect komutu iki tablo da bulunan ortak verileri görmemiz için kullandığımız plpgsql komutudur. Örnekler üzerinden daha da iyi anlaşılacaktır.

İlk olarak veritabanımızı oluşturalım

create database okul;

Veritabanımızı oluşturduktan sonra veritabanımıza aşağıdaki şekilde bağlanalım.

\c okul

Veritabanımıza bağlandık ve aşağıdaki gibi görüntü ile karşılaştıysanız doğru şekilde bağlandığınız anlamına geliyor.

Okul veritabanın içerisinde iken veritabanın içerisinde sinif ve ders adında veritabanı oluşturalım.

create table sinif(ders varchar(50),sinif varchar(10));
create table ogrenci(id int,adi varchar(60),soyadi varchar(60),sinif varchar(10));

İki adet tablomuzu oluşturduk ve şimdi içine veri girelim:

insert into ogrenci(id,adi,soyadi,sinif) values (1,'faruk','erdem','10-A');
insert into ogrenci(id,adi,soyadi,sinif) values (2,'nalan','erdem','10-A');
insert into ogrenci(id,adi,soyadi,sinif) values (3,'ayse','sari','11-B');
insert into ogrenci(id,adi,soyadi,sinif) values (4,'aslı','ar','12-B');
insert into sinif(ders,sinif) values ('Matematik','10-A');
insert into sinif(ders,sinif) values ('Fizik','11-B');

Buraya kadar doğru yaptığınızı kabul ederek intersect örneğine geçiyorum.

İntersect komutu iki tablo da aynı olan kayıtları getirecektir. Bizden sınıfı açılmış olan kayıtlar istensin bunun için aşağıdaki komuttan yararlanacağız.

 select sinif from ogrenci intersect select sinif from sinif;

Sorgu sonucunda 10-A ve 11-B nin olduğunu görüyoruz .Bunun sebebi iki tablo da ortak olan 10-A ve 11-B kayıtlarıdır.

Bu sorgu sonucunda 10-A ve 11-B nin açıldığını 12-B sınıfına kayıt olmayı bekleyen bir öğrenci olmasına rağmen sınıfın açılmadığını görüyoruz.

Loading