использование кортежей в sql в пункте

Я думаю, что это зависит, как часто они изменяются. Давайте возьмем этот пример:

  • JQuery: изменитесь один раз в год
  • сторонние плагины: изменяйтесь каждые 6 месяцев
  • Ваш пользовательский код: изменяйтесь каждую неделю

, Если Ваш пользовательский код представляет только 10% общего кода, Вы не хотите, чтобы пользователи загружали другие 90% каждую неделю. Вы разделили бы по крайней мере в 2 js: JQuery + плагины и Ваш пользовательский код. Теперь, если Ваш пользовательский код представляет 90% полного размера, имеет больше смысла помещать все в один файл.

При выборе, как объединить файлы JS (и то же для CSS), я балансируюсь:

  • относительный размер количества файла
  • обновлений ожидал
12
задан Lukas Eder 12 April 2013 в 14:01
поделиться

2 ответа

ваш код работает, если вы делаете это в PostgreSQL или Oracle. в MS SQL он не поддерживается

используйте это:

SELECT a,b FROM aTable
WHERE 
-- (aTable.a,aTable.b) IN -- leave this commented, it makes the intent more clear
EXISTS
(
    SELECT anotherTable.a,anotherTable.b -- do not remove this too, perfectly fine for self-documenting code, i.e.. tuple presence testing
    FROM anotherTable
    WHERE anotherTable.a = aTable.a AND anotherTable.b = aTable.b
);

[EDIT]

без указания намерения:

SELECT a,b FROM aTable
WHERE     
EXISTS
(
    SELECT *
    FROM anotherTable
    WHERE anotherTable.a = aTable.a AND anotherTable.b = aTable.b
);

это несколько неубедительно, более десяти лет в MS SQL до сих пор нет первоклассной поддержки кортежей. Конструкция кортежа IN более читабельна, чем аналогичная конструкция EXISTS. кстати, JOIN тоже работает (код tster), но если вам нужно что-то более гибкое и ориентированное на будущее, используйте EXISTS.

[EDIT]

говоря о SQLite, я недавно балуюсь им. да, кортежи IN не работают

19
ответ дан 2 December 2019 в 07:03
поделиться

вы можете использовать соединение:

SELECT aTable.a, aTable.b FROM aTable
JOIN anotherTable ON aTable.a = anotherTable.a AND aTable.b = anotherTable.b
2
ответ дан 2 December 2019 в 07:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: