Я изучаю sql в данный момент, и я сталкиваюсь с существованием. Я знаю, что это ясно, и существуют проверки на результат подзапроса, и если результатом является ИСТИННЫЙ внешний запрос, и если он ложный, внешний запрос не запускается. Но я не могу понять, как, где предложение помещается во всем этом и как оно связано с внешним запросом. Пожалуйста, также объясните мне, что именно происходит после того, как условие условия проверяет значение ИСТИНА.Роль предложения where в запросе с использованием существующего условия?
ответ
Вот пример того, как EXISTS относится с внешним запросом:
SELECT *
FROM classes a
WHERE EXISTS (
SELECT 1
FROM student b
WHERE b.a_id = a.id -- Here you relate inner query with outside query
)
Вы хотите получить записи в классах, где Есть по крайней мере одна записи в студентах таблицы с внешним ключом ид в классов таблицы.
Вы связываете их в ГДЕ внутреннего запроса.
Если в этом классе нет учеников, внешний запрос не вернет этот класс.
'select * from student s1, где не существует (выберите * из ученика s2, где s2.gpa> s1.gpa);' Это запрос, чтобы найти студента с самым высоким gpa.Пожалуйста, объясните, как это работает и как 'where s2.gpa> s1.gpa' влияет на внешний запрос? – shivams
Это довольно просто. Во внешнем запросе вы хотите всех студентов, но затем NOT EXISTS говорит, что вам нужны только записи, в которых никто не имеет gpa больше, чем тот, который у вас есть в вашем внешнем запросе. Если у вас 3 студента с 1,2,3 gpa, для первых двух вы получите по крайней мере одну запись во внутреннем запросе, чтобы внутренний запрос возвращался TRUE. Поскольку у вас НЕ СУЩЕСТВУЕТ, он преобразуется в false, заставляя внешний запрос не возвращать первых двух учеников. –
Большое спасибо. Теперь я понимаю, это выглядит довольно просто. – shivams
- 1. Параметрирование предложения WHERE в запросе
- 2. Создание условия левого соединения с использованием предложения where в sql
- 3. WHERE условия в запросе с использованием двух колонок
- 4. Поиск предложения WHERE в запросе SELECT
- 5. Удаление предложения WHERE в запросе Linq
- 6. Применение предложения WHERE условно в запросе SQL
- 7. Добавление предложения where в запросе mysql?
- 8. WHERE предложения в многозадачном запросе LINQ
- 9. Почему в запросе SQL нет предложения WHERE?
- 10. Построение предложения 'where' в запросе Linq
- 11. Duel WHERE предложения в запросе MySql
- 12. Возвращение детей с использованием предложения Where
- 13. Рейтинг в MySQL с использованием предложения WHERE
- 14. Таблица Mysql объединяется с использованием предложения where
- 15. предложения WHERE в SQL заявления с 2 условия
- 16. Запрос с linq с использованием предложения where
- 17. Импорт из csv с использованием предложения WHERE
- 18. Фильтровать нулевые строки с использованием предложения WHERE
- 19. Вставить запросы INTO с использованием предложения WHERE
- 20. MySQL INSERT INTO с использованием предложения WHERE
- 21. Изменение предложения WHERE с использованием коррелированных запросов
- 22. с использованием предложения where haskell, вызывающего ошибку?
- 23. Фильтрация строки данных с использованием предложения where
- 24. Переменные объявления с использованием предложения WHERE
- 25. Запрос PostgreSQL с использованием предложения WHERE
- 26. Запись предложения предложения where
- 27. с использованием предложения WHERE в триггере INSERT SQL
- 28. Получение ошибки с выражением CASE с использованием предложения WHERE
- 29. Ввод строки после предложения where в soql-запросе в salesforce
- 30. Вложенные условия в where where OSLC
Вы пробовали посмотреть? [Верхняя ссылка в google search для «mysql where exists tutorial»] (http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html) – OGHaza
Это не помогает меня. Посмотрите на один из приведенных здесь примеров SELECT DISTINCT store_type FROM stores WHERE EXISTS (ВЫБРАТЬ * FROM city_stores WHERE cities_stores.store_type = stores.store_type); Я знаю, что существо будет равно TRUE, но какова роль «WHERE cities_stores.store_type = stores.store_type» именно во всем этом. – shivams
Тем не менее, вы просите очень подробное описание того, как работает «WHERE EXISTS». Таким образом, вы определенно не приложили никаких усилий, чтобы разобраться с этим, так как Google немедленно направит вас к сотням учебников по этой теме. – OGHaza