Answer Posted / vivek
Anti-joins:
Anti-joins are written using the NOT EXISTS or NOT IN
constructs. An anti-join between two tables returns rows
from the first table for which there are no corresponding
rows in the second table. In other words, it returns rows
that fail to match the sub-query on the right side.
Suppose you want a list of departments with no employees.
You could write a query like this:
SELECT d.department_name
FROM departments d
MINUS
SELECT d.department_name
FROM departments d, employees e
WHERE d.department_id = e.department_id
ORDER BY department_name;
The above query will give the desired results, but it might
be clearer to write the query using an anti-join:
SELECT d.department_name
FROM departments d
WHERE NOT EXISTS (SELECT NULL
FROM employees e
WHERE e.department_id = d.department_id)
ORDER BY d.department_name;
| Is This Answer Correct ? | 17 Yes | 3 No |
Post New Answer View All Answers
What is form and report?
how many triggers are allowed in mysql table? : Sql dba
what is a constraint? : Sql dba
What is sql injection vulnerability?
What is use of term?
what are properties of a transaction? : Sql dba
Why self join is used in sql?
How do you concatenate in sql?
Can we group by two columns in sql?
How do you remove duplicate records from a table?
How do I create a memory optimized filegroup?
Explain about various levels of constraint.
what are the different functions in sorting an array? : Sql dba
Why do we use joins?
What is the difference between delete and truncate statement in sql?