Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
FROM Блюда
WHERE Блюдо = ' Сырники ' ); Чтобы оценить внешний (основной) запрос, SQL сначала должен оценить внутренний запрос (или подзапрос) внутри предложения WHERE. Единственной найденной строкой естественно будет ID_блюда = 18. Однако SQL, не просто выдает это значение, а помещает его в предикат основного запроса вместо самого подзапроса, так чтобы предиката принял вид
WHERE Блюдо = 18 Основной запрос затем выполняется как обычно. Конечно же, подзапрос должен выбрать один и только один столбец, а тип данных этого столбца должен совпадать с тем значением, с которым он будет сравниваться в предикате. При использовании подзапросов в предикатах, основанных на операторах сравнения (=, <>, < и т.д.), вы должны убедиться, что использовали подзапрос, который будет выдавать одну и только одну строку вывода (в некоторых случаях, можно использовать DISTINCT, чтобы вынудить подзапрос генерировать одиночное значение). Если заменить условие WHERE Блюдо=’Сырники’ на условие WHERE Основа = 'Молоко’, мы получим в результате подзапроса несколько строк. Это сделает условие основного запроса невозможным для оценки, и команда выдаст ошибку. Если вы используете подзапрос, который не выводит никаких значений вообще, команда будет выполнена; но основной запрос не выведет никаких значений. Подзапросы, которые не производят никакого вывода (или нулевой вывод) вынуждают рассматривать предикат ни как верный, ни как неверный, а как неизвестный. Однако, неизвестный предикат имеет тот же самый эффект что и неверный: никакие строки не выбираются основным запросом. Синтаксис использования простого подзапроса < столбец | выражение > < оператор > < подзапрос > Варианты < подзапрос > < оператор > < столбец | выражение > или, < подзапрос > < оператор > < подзапрос > недопустимы. Если не удается построить подзапрос, возвращающий единственное значение необходимо использовать предикат IN. Пример 26: SELECT * Date: 2015-09-18; view: 300; Нарушение авторских прав |