Предположим, у меня есть две таблицы, каждая из которых имеет идентификаторы пользователя. Я хочу выполнить операцию, которая вернет все IDS пользователя в таблице 1, которые не указаны в таблице 2. Я знаю, что должен быть какой-то простой способ сделать это - может ли кто-нибудь предложить некоторую помощь?В SQL, как я могу выполнить операцию «вычитания»?
4
A
ответ
6
Его медленный, но вы обычно можете выполнить это с чем-то вроде «не в». (Существуют и другие функции в различных системах СУБД, чтобы сделать это в более эффективные способы, Oracle, например, имеет «существует» пункт, который может быть использован для этого
Но вы могли бы сказать:.
select id from table1 where id not in (select id from table2)
0
Попробуйте это :
SELECT id FROM table1 WHERE id NOT IN
(
SELECT id FROM table2
)
5
Есть несколько способов сделать это Вот один подход с использованием NOT EXISTS
:.
SELECT userid
FROM table1
WHERE NOT EXISTS
(
SELECT *
FROM table2
WHERE table1.userid = table2.userid
)
А вот еще один подход с использованием объединения:
SELECT table1.userid
FROM table1
LEFT JOIN table2
ON table1.userid = table2.userid
WHERE table2.userid IS NULL
Самый быстрый подход зависит от базы данных.
0
select ID from table1
where ID not in (select ID from table2)
1
Один из способов - использовать EXCEPT, если ваш диалект TSQL поддерживает его. Это эквивалентно выполнению левого соединения и нуль-тест
1
SELECT user_id FROM table1 LEFT JOIN table2 ON table1.user_id = table2.user_id WHERE table2.user_id IS NULL;
1
Если SQL Server:
SELECT id FROM table1
EXCEPT
SELECT id FROM table2
Oracle:
SELECT id FROM table1
MINUS
SELECT id FROM table2
отдых: не уверен ....
Смежные вопросы
- 1. Как я могу выполнить операцию в SQL-запросе?
- 2. Как я могу выполнить эту операцию?
- 3. JAVA: Алгоритмы: Как я могу выполнить операцию Вычитания в зашифрованных значения
- 4. Могу ли я выполнить эту операцию соединения с чистым SQL?
- 5. Как сделать операцию вычитания в подробном разделе
- 6. Как я могу выполнить операцию XOR в Crypto ++?
- 7. Как я могу выполнить побитовое-операцию в VB.NET?
- 8. Как я могу выполнить операцию впрыска в CoffeeScript?
- 9. Как я могу выполнить операцию при закрытии приложения консоли C#?
- 10. Как я могу выполнить эту операцию соединения MySQL?
- 11. Как я могу выполнить операцию удаления с помощью cassandra trigger?
- 12. Как я могу выполнить операцию на переднем плане
- 13. Как я могу выполнить операцию instanceof на члене arraylist?
- 14. SQL - Как выполнить эту операцию соединения?
- 15. C++ - Как я могу выполнить некоторую операцию над файлом bmp?
- 16. Как я могу выполнить операцию деления на странице gsp.
- 17. Как я могу выполнить триггер в SQL?
- 18. Как выполнить длительную операцию?
- 19. Могу ли я выполнить операцию «или» в LINQ для объектов?
- 20. Могу ли я прервать операцию «Count Rows» в SQL Developer?
- 21. Как выполнить операцию слияния данных.table
- 22. Могу ли я выполнить математическую операцию внутри createCriteria
- 23. Могу ли я выполнить эту операцию по одной команде?
- 24. выполнить операцию с возвратом
- 25. Как выполнить арифметическую операцию на Oracle timestamps (в SQL)?
- 26. Как выполнить операцию бит в sequelize
- 27. Как правильно выполнить операцию xor?
- 28. Как выполнить операцию перед объектом?
- 29. Как выполнить операцию дублирования ключевых слов
- 30. Как выполнить триггерную операцию в синтаксическом анализе.
Какую платформу базы данных вы используете? – JohnFx