Помощ - по - SQL (DML) предикати (част 1)

Предикати (част I)

Предикати са изрази, които да поемат истина-стойност. Те могат да бъдат или в един израз, както и всяка комбинация от неограничен брой изрази строи с помощта на булеви оператори и. ИЛИ, или не. В допълнение, тези комбинации могат да бъдат използвани чрез SQL-оператор Е. и скоби за определяне на реда на операциите.

Предикатът на езика SQL може да бъде един от тримата е TRUE (вярно), FALSE (фалшиво) или неизвестен (неизвестен). С изключение на следните предикати: NULL (без стойност), и съществува (съществуване), UNIQUE (уникален) и MATCH (мач), който не може да бъде настроен на неизвестно.

Правилата за съчетаване на трите истината стойности по-лесно да се помни, означаващ TRUE като 1, FALSE като 0, и непознати, така 1/2 (някъде между истина и лъжа).
  • И двете стойности истина дава минимум тези стойности. Например, TRUE и неизвестни все още е неизвестен.
  • Или две истината стойности дава максимума от тези стойности. Например, фалшиви или неизвестен ще бъде равна на неизвестен.
  • Отрицание стойност истина е един минус тази стойност истина. Например, НЕ НЕИЗВЕСТНО все още е неизвестен.

Предикат е сравнение на двете изрази, свързани с оператор сравнение. Има шест традиционните релационни оператори :. =>. <.>=. <=. <>.
Тип на данните NUMERIC (номера) се сравняват според тяхната алгебрични стойност.
Тези видове буквена поредица (символни низове) са сравнени според техния азбучен последователност. Ако a1 a2 ... един и В1 В2 ... млрд - две последователности от символи, като първата "малка" на второ място, ако a1 Тип на данните DATETIME (дата / час) се сравняват в хронологичен ред.
тип данни ИНТЕРВАЛ (време на слот) се превръща в съответните видове и след това се сравнява цифровите стойности като конвенционален тип с цифра.

Пример. Получете информация на компютри, които имат скорост на процесора от най-малко 500 MHz, а цената по-малко от $ 800:

SELECT * FROM Pc
КЪДЕ скорост> = 500 и цена <800;


Заявката връща следните данни:

МЕЖДУ предикатните проверява дали стойността на израза тестове попада в границите, определени от граничните изрази свързващи официалната дума и. Разбира се, както за изразяване на сравнение предикат в МЕЖДУ предикат трябва да са съвместими видове.

Синтаксис МЕЖДУ :: =
<Проверяемое выражение> [НЕ] МЕЖДУ
<Начальное выражение> И <Конечное выражение>

предикат
exp1 МЕЖДУ exp2 И exp3
еквивалентно на предиката
exp1> = exp2 И exp1<=exp3
предикат
exp1 не между exp2 И exp3
еквивалентно на предиката
НЕ (exp1 МЕЖДУ exp2 И exp3)

Ако стойността на предикатното exp1 МЕЖДУ exp2 И exp3 е вярно, като цяло, това не означава, че стойността на предикат exp1 МЕЖДУ exp3 И exp2 също ще бъде вярно, както първото може да се тълкува като предикат
exp1> = exp2 И exp1<=exp3
а втората като
exp1> = exp3 И exp1<=exp2

Пример. Намерете скоростта на модел и процесор компютри струват от $ 400 до $ 600:

Изберете модел, скорост от компютъра
КЪДЕ цена между 400 и 600;

В предикат определя дали стойността на експресията на тест е намерена в набор от стойности, които са или изрично определени или получени чрез подзаявка на маса. Таблица под-заявка е редовен оператор на SELECT, което създава един или няколко реда за една колона от тип данни, съвместим с стойността на израза за тест. Ако целта е равна на поне една от споменатите стойности в едно изречение в, в предикат стойност истина, се равнява на TRUE. Ако за всяка стойност на X в целевата изречение ПО<>X, на стойност истина е лъжа. Ако подзаявка се изпълнява и резултатът не съдържа низ (празна маса), фалшиви предикатното стойност. Когато не се наблюдава нито една от посочените по-горе условия, стойността е НЕИЗВЕСТНА предикат.

Синтаксис ПО :: =
<Проверяемое выражение> [НЕ] IN (<подзапрос>)
| (<выражение для вычисления значения>. )

Пример. Намерете модел, скоростта на процесора и капацитета на твърдия диск на компютрите, които са оборудвани с твърди дискове на 10 или 20 MB:

Изберете модел, скорост, HD от компютър
КЪДЕТО HD IN (10, 20);

Пример. Намерете модел, скоростта на процесора и капацитета на твърдия диск на компютрите, които са оборудвани с твърди дискове на 10 или 20 MB и произведени от производител на:

Изберете модел, скорост, HD
от компютъра
КЪДЕ ПО HD (10, 20) и
модел IN (SELECT модел от продукта
КЪДЕТО машина = "А");

Упражнения изберете (етапи рейтинг)