次の表から2社以上で働いている従業員の名前を見つける方法:
Employee (employee_name, street, city, age)
Works (employee_name, company_name, salary)
これにより、2社以上で働いている従業員の名前が表示されます。詳細が必要な場合は、Employeeテーブルに参加できます。
SELECT
employee_name
FROM
Works
GROUP BY
employee_name
HAVING
COUNT(*) > 2
SELECT employee_name FROM Works GROUP BY employee_name HAVING COUNT(*) > 2
これにより、各従業員が1回表されたリストが作成され、グループに貢献している3つ以上のレコードを持つ従業員のみが表示されるように従業員が除外されます。
以前に提供された回答(正しいところで)とは別に、テーブルを結合する必要がある場合は、主キーとして数字を使用することを検討してください(employee_nameが両方のテーブルの主キーであると想定しています)。
これにより、DBMSが文字列ではなく整数を比較するため、クエリが高速化されます(一方または両方のテーブルに多数のレコードがある場合)。これはかなり高速です。