Selamlar,
Daha önce iki tabloyu birleştirmek için join çeşitlerini bu yazı dizisinde anlatmıştım.
şimdi ise birleştirmek istediğim veya sanal olarak iki tabloyu birleştirmek istediğimde kullandığımız with yapısından bahsedeceğiz. Özetle: iç içe sorgularda, aynı sorgunun tekrar tekrar yazılmasını ortadan kaldırmak amacımız ve oluşturduğumuz tablo, localde tutulmaktadır.
Mantığı ;
WITH <alias_name> AS (sql_subquery_statement)
SELECT column_list FROM <alias_name>[,tablename]
[WHERE <join_condition>]
When using multiple subquery aliases, the sysntax is as follows.
WITH <alias_name_A> AS (sql_subquery_statement)
<alias_name_B> AS(sql_subquery_statement_from_alias_name_A or sql_subquery_statement )
SELECT <column_list>
FROM <alias_name_A>, <alias_name_B>, [tablenames]
[WHERE <join_condition>]
Örnek;
WITH emrah AS (SELECT deptno, bdate,yas, meslek FROM emrah)
SELECT *FROM emrah WHERE yas=’20’
UNION ALL
SELECT * FROM emrah WHERE meslek like ‘AD%’;
Her sitede aynı açıklama, anlamakta zorlanıyorum. Lütfen biraz farklı özgün anlatım dener misiniz?
. Yurtdışı kaynaklarda sorun esnasında yakalayarak örnekle anlatmaya çalışyıorum genelde ama Geri bildirim için teşekkür ederim