Mam stół dla pracowników i kolejną tabelę z Treningiem. Tabela szkoleń zawiera różne szkolenia, które ukończyli pracownicy . Mamy obowiązkowe szkolenie w zakresie podnoszenia świadomości bezpieczeństwa, więc każdy pracownik musi ukończyć tę klasę szkoleniową. Mam problem z uruchomieniem zapytania, które zwróci WSZYSTKICH pracowników "wymienionych na zakończenie szkolenia lub nie.Zapytanie SQL od jednego do wielu relacji
Przykład Pracownik stół
╔════╦══════╗
║ ID ║ NAME ║
╠════╬══════╣
║ 1 ║ Bob ║
║ 2 ║ Tom ║
║ 3 ║ John ║
╚════╩══════╩
Przykład Szkolenie
╔════╦══════════════╦════════════════════╗
║ ID ║ DEPARTMENT_ID║ CLASS ║
╠════╬══════════════╬════════════════════╣
║ 1 ║ 1 ║ Security Awareness ║
║ 2 ║ 1 ║ Workplace Safety ║
║ 3 ║ 2 ║ Security Awareness ║
╚════╩══════════════╩════════════════════╝
docelowa spowodować
╔════╦══════╦════════════════════╗
║ ID ║ NAME ║ CLASS ║
╠════╬══════╬════════════════════╣
║ 1 ║ Bob ║ Security Awareness ║
║ 2 ║ Tom ║ Security Awareness ║
║ 3 ║ John ║ (null) ║
╚════╩══════╩════════════════════╝
Kwerenda że używam jest
SELECT employee.id, employee.name, training.class
FROM employee
JOIN training ON employee.id = training.department_id
WHERE training.class LIKE '%SECURITY%'
ORDER BY employee_id
Pracownik, który nie ma klasy "Świadomość bezpieczeństwa", po prostu się nie pojawia i przechodzi przez pęknięcia.
Czy department_id równa employee.id? – Maciej