66  SQL Sanal Tablolar (virtual tables)

Sanal tablo jargonu, veritabanında verileri saklanmayan ancak sql ifadelerinizde tablo gibi davranan nesneler için kullanılır.

Görünümler (views) sanal tablolar için en bilinen örnektir. CREATE VIEW ifadesini kullanarak görünümler oluşturuyoruz. Normalde, görünüm verileri veritabanımızda saklanmaz. Yalnızca görünüm sorgu tanımı veri sözlüğünde saklanır. Bu konu hakkında daha fazla bilgi için ders notlarındaki görünümlere Chapter 65 bakınız.

Alt sorgular sanal tablo gibi davranabilir. Aşağıda basit bir örnek görebilirsiniz.

SELECT * FROM
(
    SELECT FirstName,LastName FROM Customer;
)

WITH ifadeleri de sanal tablolar gibi davranır. Ayrıca FROM ifadelerinde tablo yerine alt sorgu kullanıldığında bu alt sorgular da sanal tablolar gibi davranır.

WITH T as
(
    SELECT FirstName,LastName FROM Customer;
)
SELECT * FROM T;

Bazı fonksiyonlar tablo benzeri veri döndürebilir. Bu fonksiyon sonuçları sanal tablo veya satır içi görünümler olarak düşünülebilir. sqlite’daki generate_series fonksiyonu iyi bir örnektir.

SELECT value FROM generate_series(5,100,5);
Warning

Yukarıdaki sql, 3.34 sürümünden sonraki sql CLI’da çalışır, bkz. release notes SQLite Release 3.34.0 On 2020-12-01

Yukarıdaki sql, sqlite jdbc sürücüsünün sınırlamaları nedeniyle dbeaver’da ÇALIŞMAYACAKTIR, bakınız: github xerial/sqlite-jdbc issue 1173.

Ocak 2025’te kontrol edilmiştir.

Diğer bazı örneklere bakın