mysql exists subqueries

Subqueries behind exists, exists only care about there, returns a Boolean type

Case #: Query department employees have

    SELECT department_name
FROM departments d
WHERE EXISTS(
    SELECT *
    FROM employees e
    WHERE d.`department_id`=e.`department_id`
);

or

SELECT department_name
FROM departments
WHERE department_id IN(
    SELECT department_id
    FROM employees
);

# Information inquiry god no girlfriend

SELECT bo.*
FROM boys bo
WHERE  NOT EXISTS(
    SELECT b.boyfriend_id
    FROM beauty b
    WHERE b.`boyfriend_id`=bo.`id`
);

or

SELECT bo.*
FROM boys bo
WHERE bo.`id` NOT IN(
    SELECT boyfriend_id
    FROM beauty b
);

Guess you like

Origin blog.51cto.com/14437184/2438533