1. Örnek
Exists (Employee)
Geçerli kayıttaki Employee alanının değeri bu alanı içeren daha önce okunmuş herhangi bir kayıtta zaten mevcutsa -1 (True) sonucunu döndürür.
Exists (Employee, Employee) ve Exists (Employee) deyimleri eşdeğerdir.
2. Örnek
Exists(Employee, 'Bill')
Employee alanının geçerli içeriğinde 'Bill' alan değeri bulunursa -1 (True) sonucunu döndürür.
Örnek 3
Employees: LOAD * inline [ Employee|ID|Salary Bill|001|20000 John|002|30000 Steve|003|35000 ] (delimiter is '|'); Citizens: Load * inline [ Employee|Address Bill|New York Mary|London Steve|Chicago Lucy|Madrid Lucy|Paris John|Miami ] (delimiter is '|') where Exists (Employee); Drop Tables Employees;
Bu da, Employee ve Address boyutlarını kullanarak tablo görselleştirmesinde kullanabileceğiniz bir tabloyla sonuçlanır.
where yan tümcesi; where Exists (Employee), Citizens tablosundan gelen adlardan yalnızca Employees içinde de bulunan adların yeni tabloya yüklenmesi anlamını taşır. Drop deyimi, karışıklığı önlemek için Employees tablosunu kaldırır.
Sonuçlar
|
|
Employee |
Address |
Bill |
New York |
John |
Miami |
Steve |
Chicago |
Örnek 4
Employees: Load * inline [ Employee|ID|Salary Bill|001|20000 John|002|30000 Steve|003|35000 ] (delimiter is '|'); Citizens: Load * inline [ Employee|Address Bill|New York Mary|London Steve|Chicago Lucy|Madrid Lucy|Paris John|Miami ] (delimiter is '|') where not Exists (Employee); Drop Tables Employees;
where cümlesi, not: where not Exists (Employee) ifadesini içerir.
Başka bir deyişle, yalnızca Employees içinde olmayan Citizens tablosundaki adlar yeni tabloya yüklenir.
Citizens tablosunda Lucy için iki değer olduğunu, ancak sonuç tablosunda yalnızca bir değer yer aldığını unutmayın. İlk satırı Lucy değeriyle yüklerseniz, Employee alanına dahil edilir. Bu nedenle ikinci satır kontrol edildiğinde değer zaten mevcuttur.
Sonuçlar
Employee |
Address |
Mary |
London |
Lucy |
Madrid |
Örnek 5
Bu örnekte tüm değerlerin yüklenmesi gösterilmektedir.
Employees: Load Employee As Name; LOAD * inline [ Employee|ID|Salary Bill|001|20000 John|002|30000 Steve|003|35000 ] (delimiter is '|'); Citizens: Load * inline [ Employee|Address Bill|New York Mary|London Steve|Chicago Lucy|Madrid Lucy|Paris John|Miami ] (delimiter is '|') where not Exists (Name, Employee); Drop Tables Employees;
Tüm Lucy değerlerini alabilmek için iki şey değiştirilmiştir:
-
Employees tablosundan öncesine bir yükleme eklenmiş; Employee Name olarak yeniden adlandırılmıştır.
Load Employee As Name;
-
Citizens içindeki Where koşulu şu şekilde değiştirilmiştir:
not Exists (Name, Employee).
Bu, Name ve Employee için alanlar oluşturur. Lucy olan ikinci satır işaretlendiğinde, Name içinde hala mevcut değildir.
Sonuçlar
Employee |
Address |
Mary |
London |
Lucy |
Madrid |
Lucy |
Paris |