Программирование >>  Исключение дубликатов строк 

1 ... 105 106 107 [ 108 ] 109 110 111 ... 152


Решение с использованием UNION можно найти в (Good Bowlers TBird Bolero UNION (120 строк). Решение с использованием WHERE можно найти в Good Bowlers TBird Bolero WHERE (125 строк).

2. Сап you explain why the row counts are different in the above solution queries? .

( Можно ли объяснить, почему в приведенных решениях для запросов предварительные счета отличаются?)

{Совет: Попытайтесь воспользоваться UNION ALL из первого запроса.)

Бозо донных рецептов

1. Display а list of all ingredients and their default measurement amounts together with ingredients used in recipes and the measurement amount for each recipe .

( Отобразить на экране все компоненты и единицы измерения их количества, определяемые по умолчанию, вместе с компонентами, используемыми в рецептах, и единицами измерения для каждого рецепта .) {Совет: Для решения этой задачи требуется один простой JOIN и один сложный JOIN.)

Решение можно найти в Ingredient Recipe Measurements (144 строки).



iiliii









Подзапросы

Невозможно решить проблему, используя тот же способ мышления, который ее породил .

Альберт Эйнштейн

Вопросы, россмотривоемые в донной глоне:








то предстовляет собой подзапрос одзопросы кок вырожения со столбцами одзапросы как фильтры использование подзапросов риллеры операторов /1тоги

Зодочи для самостоятельного решения


предыдуш,их главах было показано множество способов работы с данными из нескольких таблиц. Все методы, рассмотренные до сих пор, фокусировались на связывании подмножеств информации - одного или нескольких столбцов и одной или нескольких строк из единой таблицы или запроса, вложенного в условие FROM, или с использованием оператора UNION. В данной главе представлены эффективные способы извлечения единственного столбца из таблицы или запроса и использования его в качестве типизированного выражения либо в условии SELECT, либо в условии WHERE.

Следует усвоить два основных момента:

1. В SQL всегда суш,ествует несколько способов решения конкретной задачи. В этой главе приводятся новые способы решения задач, уже рассмотренных в предыдуш.их главах.

2. Можно построить сложные фильтры, которые не зависят от таблиц условия FROM. Это важная концепция, потому что использование подзапросов в условии WHERE является единственным способом получения правильного количества строк в ответах, когда требуются строки из одной таблицы, основанные на отфильтрованном содержимом из других связанных таблиц.









Что првдстовлпвт собой подзапрос

Говоря простым языком, подзапрос - это выражение SELECT, которое вложено в одно из условий оператора SELECT для образования оператора окончательного запроса. В данной главе подзапрос будет определен более формально и будет показано, как использовать его иным образом, чем в условии FROM.

Стандарт SQL определяет три типа подзапросов:

1. Строковый подзапрос - вложенное выражение SELECT, возвращающее больше одного столбца и только одну строку.

2. Табличный подзапрос - вложенное выражение SELECT, возвращающее один или несколько столбцов и ни одной или несколько строк.

3. Скалярный подзапрос - вложенное выражение SELECT, возвращающее только один столбец и не более одной строки.

Строковый подзопрос

Строки, возвращенные запросом, фильтруются путем построения предиката сравнения в условии WHERE, которое сравнивает значение столбца с литералом, выражением или другим столбцом. Простой запрос с использованием единственного предиката сравнения должен выглядеть подобно следующему:

SQL SELECT Customers.CustLastName

FROM Customers

WHERE Customers.CustAreaCode > 415

Стандарт SQL определяет конструктор строкового значения, используемый как часть предиката условия поиска в условии WHERE, HAVING или ON. Однако еще мало коммерческих систем базы данных поддерживают этот синтаксис. Вот пример условия WHERE, которое использует конструктор строкового значения:

SQL SELECT Customers.CustLastName

FROM Customers WHERE

(Customers.CustAreaCode, Customers.CustZipCode) > (415, 94110)

Здесь условие WHERE запрашивает строки, в которых комбинация CustAreaCode и CusrZipCode больше, чем комбинация 415 и 94110. Это то же самое, что и запрос:

SQL SELECT Customers.CustLastName

FROM Customers

WHERE (Customers.CustAreaCode > 415) OR ((Customers.CustAreaCode = 415) AND (Customers.CustZipCode > 94110))



1 ... 105 106 107 [ 108 ] 109 110 111 ... 152

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика