Professional Documents
Culture Documents
ІП12 Піонтківський
ІП12 Піонтківський
ІП12 Піонтківський
DDL скрипти
CREATE DATABASE Deanery;
Use Deanery;
Вставка даних.
INSERT INTO Professors (last_name, first_name, email) VALUES
('Smith', 'John', 'john.smith@example.com'),
('Johnson', 'Emily', 'emily.johnson@example.com'),
('Garcia', 'Michael', 'michael.garcia@example.com');
SELECT скрипти
--join
SELECT
Students.first_name,
Students.last_name,
'student' as role
FROM Students
JOIN Professors
ON Students.first_name = Professors.first_name
UNION ALL
SELECT DISTINCT
Professors.first_name,
Professors.last_name,
'professor' as role
FROM Students
JOIN Professors
ON Students.first_name = Professors.first_name
--in
SELECT
Students.first_name,
Students.last_name,
'student' as role
FROM Students
WHERE Students.first_name IN (SELECT Professors.first_name FROM Professors)
UNION ALL
SELECT
Professors.first_name,
Professors.last_name,
'professor' as role
FROM Professors
WHERE Professors.first_name IN (SELECT Students.first_name FROM Students)
--exists
SELECT
Students.first_name,
Students.last_name,
'student' as role
FROM Students
WHERE EXISTS (SELECT 1 FROM Professors WHERE Professors.first_name = Students.first_name)
UNION ALL
SELECT
Professors.first_name,
Professors.last_name,
'professor' as role
FROM Professors
WHERE EXISTS (SELECT 1 FROM Students WHERE Students.first_name = Professors.first_name)
--intersect
WITH first_names(name) AS
(
SELECT
Students.first_name
FROM Students
INTERSECT
SELECT
Professors.first_name
FROM Professors
)
SELECT
Students.first_name,
Students.last_name,
'student' as role
FROM Students
WHERE first_name in (SELECT name FROM first_names)
UNION ALL
SELECT
Professors.first_name,
Professors.last_name,
'professor' as role
FROM Professors
WHERE first_name in (SELECT name FROM first_names)
Результати роботи SELECT скриптів.
JOIN
IN
EXISTS
INTERSECT