|
Программирование >> Sql: полное руководство
и наконец, запрос может вернуть результаты, содержащие ноль строк, как в следующем примере. Вывести список имен и дат приема на работу всех служащих, фактический объем продаж которых превышает $500000. SELECT NAME, HIRE DATE FROM SALESREPS WHERE SALES > 500000.00 NAME HIRE DATE Даже в таком случае результаты запроса считаются таблицей Таблица, приведенная выще, содержит два столбца и ноль строк. Обратите внимание, что поддержка отсутствующих данных в SQL распространяется и на результаты запроса. Если один из элементов данных в исходной таблице имеет значение null, то оно попадет в результаты запроса при извлечении этого элемента. Например, в таблице salesreps значение null содержится в столбцах quota и manager. Следующий запрос возвращает эти значения во втором и третьем столбцах таблицы результатов запроса: Вывести список служащих с их плановыми объемами продаж и идентификаторами менеджеров SELECT NAME, QUOTA, MANAGER FROM SALESREPS
To, что SQL-запрос всегда возвращает таблицу, очень важно Это означает, что результаты запроса можно записать обратно в базу данных в виде таблицы. Это означает также, что результаты двух запросов, имеющие похожую структуру, можно объединить в одну таблицу. И наконец, это говорит о том, что результаты запроса сами могут стать предметом дальнейщих запросов. Таким образом, табличная структура реляционной базы данных тесно связана с реляционными запросами SQL Таблицам можно посылать запросы, а запросы возвращают таблицы. простые запросы Наиболее простые запросы извлекают данные из столбцов, расположенных в одной таблице базы данных Например, следующий запрос извлекает из таблицы offices три столбца: Вывести для каждого из офисов список городов, регионов и объемов продаж. SELECT CITY, REGION, SALES FROM OFFICES CITY REGION SALES Denver New York Chicago Atlanta Los Angeles Western Eastern Eastern Eastern Western $186, 042.00 $692,637.00 $735,042.00 $367,911.00 $835,915.00 Инструкция select для простых запросов (таких, как показанный выше) состоит только из двух обязательных предложений. В предложении select перечисляются имена требуемых столбцов; в предложении from указывается таблица, содержащая эти столбцьь На логическом уровне запрос выполняется путем построчного просмотра таблицы, указанной в предложении from (рис. 6.3). Для каждой строки таблицы берутся значения столбцов, входящих в список возвращаемых столбцов, и создается одна строка результатов запроса Таким образом, таблица результатов простого запроса на выборку содержит одну строку для каждой строки исходной таблицы базы данных. Таблица OFFICES
PncjiSfBbinonHeHm пфдгого запроса на выборку (без предложения WHERE) Вычисляемые столбцы Кроме столбцов, значения которых извлекаются непосредственно из базы данных, SQL-запрос на выборку может содержать вычисляемые столбцы, значения которых опре-делякугся на основании значений, хранящихся в базе данных Чтобы получить вычисляемый столбец, в списке возвращаемых столбцов необходимо указать выражение. Как было сказано в главе 5, выражения могут включать в себя операции сложения, вычитания, умножения и деления. В выражениях можно также использовать скобки. Конечно, столбцы, участвующие в арифметическом выражении, должны содержать числовые данные. При попытке сложить, вычесть, умножить или разделить столбцы, содержащие текстовые данные, будет выдано сообщение об ошибке. В следующем запросе будет получен простой вычисляемый столбец- Выдать для каждого офиса список городов, регионов и сумм, на которые был перевыполнен/недовыполнен план по продажам SELECT CITY, REGION, FROM OFFICES (SALES - TARGET) CITY REGION (SALES-TARGET) Denver New York Chicago Atlanta Los Angeles Western Eastern Eastern Eastern Western -$113,958.00 $117,637.00 -$64,958.00 $17,911.00 $110,915.00 При выполнении этого запроса для каждой строки таблицы offices создается одна строка результатов (рис. 6.4). Значения первых двух столбцов результатов запроса извлекаются непосредственно из таблицы offices Третий столбец для каждой строки результатов запроса вычисляется на основании значений столбцов текущей строки таблицы offices. Таблица OFFICES
Рис. 64 ВыпопйвЬие запроса, содержащего вычисляемый столбе
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |