Доброго дня!
есть 2 таблицы:
cl
---------------------
id | o_t_id
---------------------
o_t_ids
---------------------
id | name
---------------------
o_t_id (может быть NULL) - внешний ключ таблицы o_t_ids.
нужно выбрать из таблицы cl все записи, где вместо внешнего ключа таблицы o_t_id показать соответствующее имя из таблицы o_t_ids.
следующий запрос неверен, т.к. не выбираются записи с o_t_id is NULL:
SELECT cl.id, o_t_ids.name
FROM cl, o_t_ids
WHERE cl.o_t_id = o_t_ids.id;
следующий запрос верный, но приходится использовать внутренние подзапросы:
SELECT cl.id, (SELECT name FROM o_t_ids WHERE o_t_ids.id = cl.o_t_id)
FROM cl;
Вопрос: можно ли получить искомый результат одним запросом, не используя внутренних подзапросов?
Или все же правильно использовать последний вариант?
В связи с чем такой может быть глуповатый вопрос:
В боевой базе я использую большой запрос со множеством внутренних подзапросов.
Хотелось бы оптимизировать и ускорить процесс.