КЪДЕ клауза
Ако клаузата WHERE присъства в израз на маса. след това в следващия се изчислява.
Условия следните ключовата дума, къде, може да включва условия за търсене предикатни, булеви оператори и (и), OR (или), а не (не) и скоби за да покаже, последователността на изчисления, необходими.
Изчисление на клаузата WHERE в съответствие със следните правила: Нека R - резултат от изчисляването ОТ клауза. След това, условието за търсене се прилага за всички редове R, и в резултат на WHERE клауза е таблица на SQL. състояща се от тези редове R, за които резултатът от оценката състоянието на търсене е вярно. Ако условието за вземане на проби включва подзаявки. След това всеки подзаявка се изчислява за всеки кортеж на маса R (стандарт се използва терминът "ефективно", в смисъл, че резултатът трябва да бъде същото, както ако всеки подзаявка всъщност изчислява наново за всеки кортеж R).
Сред думите за търсене предикат в съответствие със стандарта може да бъде следните предикати: Сравнение предикат. predikatbetween. predikatin. predikatlike. predikatnull. предикат и количествено, predikatexists.
При проверка на условията на пробата се сравняват алгебрично: отрицателни числа се считат за по-малко от положителна, независимо от техните абсолютни стойности. Strings се сравняват според представянето им в кода ANSI. При сравняване на две линии с различна дължина, по-кратък низ по-рано, допълнена с заготовки за двете линии имат една и съща дължина.
Предикатна сравнение с изрази или подзаявка резултати. Условията, определени от два израза разделени от един от признаците на оператори = по-взаимоотношенията. <> (Не е равно),>.> =. <и <= .
Аритметични изрази лявата и дясната страна на сравненията предикатните се основават на общите правила на строителството на аритметични изрази и могат да включват, по принцип, маса колона имената на ОТ клауза и константи. аритметични изрази от типове данни трябва да са сравними с (например, ако един тип колона на таблицата е тип символен низ, предиката "а = 5" не е валидно).
Ако дейностите по правилните операнди за сравнение, определени от подзаявка, по-нататъшното ограничение е, че подзаявка резултат на захранване трябва да бъде по-малко от единство. Ако поне един от операндите на операция сравнение е с нулева стойност, или ако десния операнд е подзаявка с празен резултат, стойността на предиката сравнение все още неизвестен.
За да се гарантира преносимост на приложения, които трябва внимателно да се прецени със спецификата на работа с нулеви стойности в определена база данни.
Примери раздел SELECT вземане на проби КЪДЕТО
Кодът на проба и името на клиенти, които живеят в Москва.
Пробата на данните от таблица ЕМИ по отдели служители номер 40:
Извлечение от запис в таблицата с номера на полета, име, длъжност, заплата и отдел за всички служители с изключение на продавачи карта с номера 30:
SELECT РЕДАКТОР, работа, сол, deptno ОТ ЕМИ когато не deptno = 30;
Свързани статии