17 правил хорошего тона при написании SQL запросов

27 января 2013, 23:29

При написании SQL запросов есть ряд правил, которым нужно просто следовать. Можно вдаваться в поиски, почему надо писать так, а не иначе, но для понимания нужен багаж и некоторый практический опыт, а ведь зачастую SELECT’ы надо писать уже сейчас, да так, чтобы они летали и после не переписывать. Как писать смотрим здесь: Правило WHERE Правило HAVING Комбинированные подзапросы Операции EXISTS, IN, Join Операция DISTINCT Функция DECODE Операция UNION ALL Anti-Join Примеры взял из дайджеста Oracle SQL изнутри Правило WHERE Условие можно записать так, что оно полностью отключит оптимизатор.

Категория: Всё про Oracle
  • # 5
    17 правил хорошего тона при написании SQL запросов

    В случае

    WHERE [столбец1] NOT IN
    (SELECT [столбец2]

    столбец2 должен иметь ограничение NOT NULL, иначе можем получить NULL на выходе, что будет неверным результатом.

    Если мы не уверены в отсутствии NULL-значений, используем

    WHERE NOT EXISTS
    (SELECT [value]

    value может быть идентификатором стобца подзапроса, выражением, построенным на значении этого столбца, NULL, *, любая числовая или символьная константа, или символьная строка.

    Интересно, влияет ли выбор значения value на скорость выполнения запроса?

Комментарии к этой заметке больше не принимаются.