Что мне нужно SELECT
в подзапросе предложения WHERE EXIST
?
Вот случайный запрос с предложением WHERE EXIST
:
SELECT a.*
FROM a
WHERE EXISTS
(SELECT *
FROM b
WHERE b.a_id = a.id)
Итак, *
выбран в b
. Но для меня это не имеет смысла, потому что я не хочу ничего выбирать (если только я не понял поведение WHERE EXIST
). Я мог бы выбрать 1
, но это тоже кажется странным.
Я думаю, что это не имеет особого значения с точки зрения скорости выполнения, и все могло бы сработать, но это может иметь значение с точки зрения удобочитаемости и «семантики». (Я не уверен в словах, которые использую!). Есть ли лучшая практика для этого? Если да, то почему один путь предпочтительнее другого?
SELECT 1
, в то время как SQL Server понял бы, что нет необходимости выбирать какие-либо столбцы и создавать такой же план выполнения. - person Panagiotis Kanavos   schedule 30.03.2018