Kitaplar Tablosu
CREATE TABLE KITAPLAR ( ID NUMBER(10) GENERATED BY DEFAULT AS IDENTITY, AD_SOYAD VARCHAR2(50), KITAP_ADI VARCHAR2(100), CONSTRAINT PK_KITAPLAR PRIMARY KEY(ID) )
Örnekler yapmak için kayıt eklemesi yapalım tabloya.
Kitaplar Tablosu
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Ahmed Çalışkan', 'Karagöz ile Hacivat'); INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Ahmed Çalışkan', 'Simyacı'); INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Ahmed Çalışkan', '1984'); INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Ahmed Çalışkan', 'Define Adası'); INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Asmin Tuna', 'Şeker Portakalı'); INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Asmin Tuna', 'Beni Ödülle Cezalandırma'); INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Asmin Tuna', 'Uçurtma Avcısı'); INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Yusuf Baran', 'Cesur Yeni Dünya'); INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Yusuf Baran', 'Yabancı'); INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Yusuf Baran', 'Sakız Sardunya');
Eklemiş olduğumuz kayıtları veritabanında görmek için bir SELECT sorgusu yazalım.
Kayıtları Listeleyelim

Uygun kayıtları veritabanına ekledik. Sıra Oracle'de halihazırda gelen LISTAGG fonksiyonunu kullanmaya geldi.
LISTAGG Fonksiyonu
SELECT AD_SOYAD, LISTAGG(KITAP_ADI, ', ') WITHIN GROUP (ORDER BY KITAP_ADI) AS OKUNAN_KITAPLAR FROM KITAPLAR GROUP BY AD_SOYAD ORDER BY AD_SOYAD;
Sorgu sonucunu inceleyelim. Sonuç olarak kişileri tekil olarak gösterip her bir kişinin okuduğu kitapları liste halinde alıp "Kişi - Kitaplar" şeklinde gösterimini sağlamış olduk.