loading..
Русский    English
18:48
листать

Предикат IN

Синтаксис:

  1. IN::=
  2. <Проверяемое выражение> [NOT] IN (<подзапрос>)
  3. | (<выражение для вычисления значения>,...)

Предикат IN определяет, будет ли значение проверяемого выражения обнаружено в наборе значений, который либо явно определен, либо получен с помощью табличного подзапроса. Здесь табличный подзапрос это обычный оператор SELECT, который создает одну или несколько строк для одного столбца, совместимого по типу данных со значением проверяемого выражения. Если целевой объект эквивалентен хотя бы одному из указанных в предложении IN значений, истинностное значение предиката IN будет равно TRUE. Если для каждого значения Х в предложении IN целевой объект <> X, истинностное значение будет равно FALSE. Если подзапрос выполняется, и результат не содержит ни одной строки (пустая таблица), предикат принимает значение FALSE. Когда не соблюдается ни одно из упомянутых выше условий, значение предиката равно UNKNOWN.

Пример 5.2.4

Найти модель, частоту процессора и объем жесткого диска тех компьютеров, которые комплектуются накопителями 10 или 20 Гбайт:

Консоль
Выполнить
  1. SELECT model, speed, hd
  2. FROM PC
  3. WHERE hd IN (10, 20);

model speed hd
1233 750 20
1232 500 10
1232 450 10
1260 500 10
1233 800 20

Пример 5.2.5

Найти модель, частоту процессора и объем жесткого диска компьютеров, которые комплектуются накопителями 10 Гбайт или 20 Гбайт и выпускаются производителем А:

Консоль
Выполнить
  1. SELECT model, speed, hd
  2. FROM PC
  3. WHERE hd IN (10, 20) AND
  4. model IN (SELECT model
  5. FROM product
  6. WHERE maker = 'A'
  7. );

model speed hd
1233 750 20
1232 500 10
1232 450 10
1233 800 20

Рекомендуемые упражнения: 1, 5, 8, 23, 25, 27, 38, 57, 71, 80, 89, 90, 103, 127, 129


Bookmark and Share
Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE CONSTRAINT Convert COUNT CROSS APPLY CTE DATEADD DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INNER JOIN insert INTERSECT IS NOT NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker MAX MIN MONTH Больше тэгов
Учебник обновлялся
несколько дней назад
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.
Rambler's Top100