From the QV help for explaining the Exists
These functions are used when a value from previously loaded records of data is needed for the evaluation of the current record.
Determines whether a specific field value exists in a specified field of the data loaded so far. Field is a name or a string expression evaluating to a field name. The field must exist in the data loaded so far by the script. Expr is an expression evaluating to the field value to look for in the specified field. If omitted, the current record’s value in the specified field will be assumed.
exists(Month, 'Jan') returns -1 (true) if the field value 'Jan' is found in the current content of the field Month.
exists(IDnr, IDnr) returns -1 (true) if the value of the field IDnr in the current record already exists in any previously read record containing that field.
exists (IDnr) is identical to the previous example.
Load Employee, ID, Salary from Employees.csv;
Load FirstName& ' ' &LastName as Employee, Comment from Citizens.csv where exists (Employee, FirstName& ' ' &LastName);
Only comments regarding those citizens who are employees are read.
Load A, B, C, from Employees.csv where not exists (A);
This is equivalent to performing a distinct load on field A.
Check this example:
Suppose if you want to load only the courses which has student ID, then Exists comes handy, check below
Now Course table has only 1 and 2, because 3 and 4 do not have any student_ids assigned.
Refer Qlikview help file (F1) for more detailed help, it has lot of examples.
Hope this helps you.