Основная цель статьи не показать что лучше: EXIST или EXEPT, а то что без создания "настоящей" временной таблицы через CREATE можно решить задачу, но за подсказку спасибо.
Новый пример: в БД есть значения: 45, a32, zak12-1 список, который надо проверить: 45, a32, zak12-1, qwer99 Нужно найти значение из списка, которое отсутствует в БД: ответ qwer99
в CTE придется сделать тоже самое, создавать временную таблицу:
WITH temp AS ( SELECT FROM (VALUES (11), (22), (33), (44), (55) ) AS temp(zakaz)) SELECT FROM temp left join order o on temp.zakaz = o.nomer where id is null
Без выделенной части запроса не решить задачу.
Но в PostgreSQL использовать unnest() удобнее, т.к. не нужно вручную формировать список в VALUES() из списка значений, который уже и так есть в удобном виде: (11, 22, 33, 44, 55)
это не данные, хранящиеся в БД, а параметры, которые передаются в СУБД
да, это список заказов, которые клиенты в своей учетной системе уже сформировали, но в нашу БД не все еще переданы, но нам они уже известны. Передав в запросе все номера, нужно найти какие еще не попали в нашу БД.
По-моему, именно основной способ для абсолютно всех СУБД выглядит приблизительно так
Да, Вы правы, это основной способ для всех СУБД это через UNION
в PostgreSQL самый простой способ это unnest()
когда сериализованное значение прибывает именно как единый параметр откуда-то издалека - ну да, заслать одну длинную текстовую строку реально проще
да, именно это и имеется ввиду. Скопировать, вставить в запрос и получить результат.
По потреблению электричества, мне кажется, точно не определить. Например, однокомнатная квартира: хоть один, хоть три человека, но холодильник, освещение, телевизор, плита, роутер будут примерно одинаково потреблять...
Да... столько патчей было установлено: демон для поддержки интернета, аська, браузер, почтовый клиент, многозадачность, при нажатии и удерживании какой-то клавиши проговаривал время, и все это на эльфах. Можно было память с 10 Мб увеличить примерно до 15 мб, остались тысячи фоток сфотканные на CX65 разрешением 640х480 со студенческих времен... Еще бесплатные смски через почтовый клиент, на Мегафон вроде отправляли как то так: 9271234567@sms.mgsm.ru. Еще был Java-клиент Webmoney, через него пополнял телефоны одногруппников... Было время)
У нас в городе глушат навигационный сигнал, и все навигаторы показывают в одну точку на карте. Но автобусы на яндекс картах отображаются нормально. Они какой-то шифрованный сигнал принимают, который не глушится или как это работает?
Точнее, если каждый раз на досрочное погашение платить столько же, сколько будет на погашение основного долга, то ипотеку можно закрыть в 2 раза быстрее.
В первый год-два оплата происходит процентов по кредиту
Все, с кем разговаривал про ипотеку, думают так, потому что в первые годы из общей суммы платежа на погашение основного долга идет очень маленькая часть. Но никакого обмана со стороны банка тут нет, что в "первые годы оплачиваются только проценты". Это просто набегают такие проценты за месяц от основного долга. Например, платеж 20 тыс., из них 19 тыс. это проценты а 1 тыс - основной долг. Если в этот момент платить на досрочное погашение 1000 руб, то основной долг будет уменьшаться уже примерно в 2 раза быстрее.
На сайтах знакомств бывает тоже приложение показывает расстояние до собеседника. Как то давно тоже с разных мест определял расстояние и вычислял местоположение собеседника.
Основная цель статьи не показать что лучше: EXIST или EXEPT, а то что без создания "настоящей" временной таблицы через CREATE можно решить задачу, но за подсказку спасибо.
Пример в статье исправил. Спасибо.
номера 11, 22, 33 и т.д. - только для примера, чтобы было проще. там могут быть абсолютно разные номера, этот вариант не подходит.
Если знаете как проще, лучше было бы конечно привести пример.
Новый пример:
в БД есть значения: 45, a32, zak12-1
список, который надо проверить: 45, a32, zak12-1, qwer99
Нужно найти значение из списка, которое отсутствует в БД: ответ qwer99
в CTE придется сделать тоже самое, создавать временную таблицу:
WITH temp AS (
SELECTFROM (VALUES (11), (22), (33), (44), (55) ) AS temp(zakaz))SELECT
FROM temp left join order o on temp.zakaz = o.nomer where id is nullБез выделенной части запроса не решить задачу.
Но в PostgreSQL использовать unnest() удобнее, т.к. не нужно вручную формировать список в VALUES() из списка значений, который уже и так есть в удобном виде: (11, 22, 33, 44, 55)
да, это список заказов, которые клиенты в своей учетной системе уже сформировали, но в нашу БД не все еще переданы, но нам они уже известны. Передав в запросе все номера, нужно найти какие еще не попали в нашу БД.
Да, Вы правы, это основной способ для всех СУБД это через UNION
да, именно это и имеется ввиду. Скопировать, вставить в запрос и получить результат.
По потреблению электричества, мне кажется, точно не определить. Например, однокомнатная квартира: хоть один, хоть три человека, но холодильник, освещение, телевизор, плита, роутер будут примерно одинаково потреблять...
тут напрашивается эта статья: Читаем QR код
Да... столько патчей было установлено: демон для поддержки интернета, аська, браузер, почтовый клиент, многозадачность, при нажатии и удерживании какой-то клавиши проговаривал время, и все это на эльфах. Можно было память с 10 Мб увеличить примерно до 15 мб, остались тысячи фоток сфотканные на CX65 разрешением 640х480 со студенческих времен... Еще бесплатные смски через почтовый клиент, на Мегафон вроде отправляли как то так: 9271234567@sms.mgsm.ru. Еще был Java-клиент Webmoney, через него пополнял телефоны одногруппников... Было время)
У нас в городе глушат навигационный сигнал, и все навигаторы показывают в одну точку на карте. Но автобусы на яндекс картах отображаются нормально. Они какой-то шифрованный сигнал принимают, который не глушится или как это работает?
Точнее, если каждый раз на досрочное погашение платить столько же, сколько будет на погашение основного долга, то ипотеку можно закрыть в 2 раза быстрее.
Все, с кем разговаривал про ипотеку, думают так, потому что в первые годы из общей суммы платежа на погашение основного долга идет очень маленькая часть. Но никакого обмана со стороны банка тут нет, что в "первые годы оплачиваются только проценты". Это просто набегают такие проценты за месяц от основного долга. Например, платеж 20 тыс., из них 19 тыс. это проценты а 1 тыс - основной долг. Если в этот момент платить на досрочное погашение 1000 руб, то основной долг будет уменьшаться уже примерно в 2 раза быстрее.
Тоже приходится сидеть и нажимать кнопки, пока ребенок играет в машинки))
На сайтах знакомств бывает тоже приложение показывает расстояние до собеседника.
Как то давно тоже с разных мест определял расстояние и вычислял местоположение собеседника.
Да
Краткое видео тестирования:
https://www.youtube.com/watch?v=eVkZZikiuk8
Электромобиль от деда внуку
Видеообзор на еще не успел смонтировать)
zen.yandex.ru/media/krrot/trehfaznoe-napriajenie-iz-odnofaznoi-seti-vsego-za-3-minuty-prostoi-laifhak-5d8f6c7e1d656a00ade6762d
habr.com/ru/post/217389
достаточно запомнить 12 цифр — смещения месяцев и смещения 2-3 ближайших лет.