Программирование >>  Sql: полное руководство 

1 ... 3 4 5 [ 6 ] 7 8 9 ... 264


SQL позволяет также запрашивать вычисляемые результаты. Например, можно попросить вычислить сумму, на которую каждый служащий опережает план или отстает от него:

SELECT NAME, SALES, QUOTA, FROM SALESREPS

(SALES - QUOTA)

NAME

SALES

QUOTA

(SALES-QUOTA)

Bill Adams

$367,911

$350,

000.00

$17,911.00

Mary Jones

$392,725,

$300,

000.00

$92,725.00

Sue Smith

$474,050

$350,

000.00

$124,050.00

Sam Clark

$299,912,

$275,

000.00

$24,912.00

Bob Smith

$142,594,

$200,000.00

-$57,406.00

Dan Roberts

$305,673

$300,

000.00

$5,673.00

Tom Snyder

$75,985,

NULL

NULL

Larry Fitch

$361,865,

$350,

000.00

$11,865.00

Paul Cruz

$286,775

$275,

000.00

$11,775.00

Nancy Angelli

$186,042,

$300,

000.00

-$113,958.00

Запрашиваемые данные (включая вычисленную разницу между объемом продаж и планом) снова представлены в виде таблицы. Возможно, вы хотели бы получить введения о служащих, которые не выполняют план. SQL позволяет легко получить такую информацию, добавив в предыдущий запрос операцию сравнения:

SELECT NAME, SALES, QUOTA, FROM SALESREPS WHERE SALES < QUOTA

(SALES - QUOTA)

NAME

SALES

QUOTA (SALES-QUOTA)

Bob Smith Nancy Angelli

$142,594.00 $200,000.00 $186,042.00 $300,000.00

-$57,406.00 -$113,958.00

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

SELECT ORDER NUM, CUST, PRODUCT, QTY, AMOUNT FROM ORDERS WHERE AMOUNT > 25000.00

ORDER BY

AMOUNT

ORDER NUM

CUST

PRODUCT

AMOUNT

112987

2103

4100Y

$27,500.00

113069

2109

775C

$31,350.00

112961

2117

2A44L

$31,500.00

113045

2112

2A44R

$45,000.00



Получение итоговых данных

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

SELECT AVG{AMODNT) FROM ORDERS

AVG(AMOUNT)

$8,254.17

Можно также узнать среднюю стоимость всех заказов, сделанных конкретным клиентом:

SELECT AVG(AMOUNT) FROM ORDERS WHERE CUST =2103

AVG (AMOUNT)

$8,895.50

Наконец, давайте узнаем общую стоимость всех заказов, сделанных каждым клиентом. Для этого сгруппируем заказы по номерам клиентов, а затем просуммируем их по каждому клиенту:

SELECT CUST, SUM(AMOUNT)

FROM

ORDERS

GROUP

BY CUST

CUST

SUM (AMOUNT)

2101

$1,458

2102

$3,978

2103

$35,582

2106

$4,026

2107

$23,132

2108

$7,255

2109

$31,350

2111

$6,445

2112

$47,925

2113

$22,500

2114

$22,100

2117

$31,500

2118

$3,542

2120

$3, 750,

2124

$3,082



[Добавление данных

SQL используется для добавления в таблицы новых данных. Предположим, что )ы открыли в Далласе (западный регион) новый офис с плановым объемом продаж ;275000. Ниже приведена инструкция insert, которая добавляет в соответствующую -аблицу новый офис с номером 23:

[NSERT INTO OFFICES (CITY, REGION, TARGET, SALES, OFFICE) VALUES (Dallas, Western, 275000.00, 0.00, 23)

l row inserted.

Аналогично, если служащая с номером 109 по имени Мэри Джонс (Магу Jones) включает договор с новым клиентом, компанией Acme Industries, следующая инструкция insert добавит в соответствующую таблицу имя клиента с номером 2125 и 1имит0м кредита в $25000:

[NSERT INTO CUSTOMERS (COMPANY, CUST REP, CUST NUM, CREDIT LIMIT) VALUES (Acme Industries, 109, 2125, 25000.00)

1 row inserted.

/даление данных

Точно так же, как инструкция insert добавляет в таблицу новые данные, инструкция delete удаляет данные из таблицы. Если через несколько дней компания \сте Industries решит отказаться от ваших услуг, вы сможете удалить из базы данных информацию о ней с помощью следующей инструкции:

DELETE FROM CUSTOMERS WHERE COMPANY = Acme Industries

1 row deleted.

A если вы решите уволить всех служащих, чей объем продаж меньше плана, то сможете удалить их имена из базы данных с помощью такой инструкции:

DELETE FROM SALESREPS WHERE SALES < QUOTA

2 rows deleted.

Обновление данных

SQL применяется и для обновления информации, содержащейся в базе данных. Например, чтобы увеличить лимит кредита для компании First Соф. до $75000, необходимо воспользоваться следующей инструкцией update:

UPDATE CUSTOMERS

SET CREDIT LIMIT = 75000.00



1 ... 3 4 5 [ 6 ] 7 8 9 ... 264

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