Я разделяю своих пользователей по ролям, поэтому базовая таблица users содержит очень мало информации, остальное в отдельных таблицах, где хранится информация, относящаяся к роли.
Итак, я хочу сделать оператор SELECT в SQL, но таблица, которую я выбираю, должна быть значением подзапроса.
SELECT * FROM (subquery);
В этом случае подзапрос - это значение из роли users в таблице users, поэтому я знаю, где искать остальную информацию.
SELECT role FROM users WHERE email = 'jhondoe@example.com';
Все вместе:
SELECT * FROM (SELECT role FROM users WHERE email = 'jhondoe@example.com');
(Теоретически) Это могло бы привести к следующему:
SELECT * FROM students;
SELECT * FROM parents;
SELECT * FROM teachers;
В зависимости от электронной почты;