Использование SQL для группировки

Использование SQL для сортировки

Оператор UPDATE

DELETE FROM Tovar

DELETE FROM Tovar

Оператор DELETE

Оператор INSERT

WHERE

WHERE

Соединения равенства

SELECT table1.field1,… tableN.fieldN

FROM table1, … tableN

WHERE table1.common_field1= table2.common_field1

{ AND table1.common_field2= table2.common_field2}

Запрос: Вывести сведения о клиентах и их покупках (сведения в таблице ПРОДАЖИ).

SELECT Клиенты.Фамилия, Продажи.Продано

FROM Клиенты, Продажи

Клиенты.Код_клиента = Продажи.Код_клиента

Запрос: Вывести для каждого клиента суммарное количество покупок

SELECT Клиенты.Фамилия,
SUM ( Продажи.Продано) AS Количество

FROM Клиенты, Продажи

Клиенты.Код_клиента = Продажи.Код_клиента

GROUP BY Клиенты.Фамилия

Выборка из 3 таблиц проводится аналогично.

Запрос: Вывести для каждого клиента суммарное количество покупок по видам товара

SELECT Клиенты.Фамилия,
SUM ( Продажи.Продано) AS Количество

FROM Клиенты, Продажи, Товар

WHERE
(Клиенты.Код_клиента = Продажи.Код_клиента) and (Продажи.Код_товара=Товары.Код_товара)

GROUP BY Клиенты.Фамилия

INSERT INTO <имя_таблицы>

(field1, … fieldN)

VALUES (значение1,….значениеN)

Пример:

Insert into Tovar

(Код, Товар, Цена, Производитель)

Values (5, 'Шкаф', 8700, 'КБК')

Поле Страна не указано в запросе и получит значение по умолчанию (здесь NULL).

DELETE FROM <название_таблицы>

[ WHERE <условие>]

Пример:

- удаление всех записей таблицы:

- удаление записей с ценой < 3000:

WHERE Цена < 3000

UPDATE <название_таблицы>

SET < список_присвоений>

[ WHERE < условие>]

Пример: увеличить цену товара в 1.5 раза

Update Tovar

Set Цена=Цена*1.5

Пример: Установить название страны там, где она не указана.

Update Tovar Set Страна = 'США'

Where Страна is null

procedure TForm1.Button1Click(Sender: TObject);

Var s: string;

begin

Query1.Close;

Query1.SQL.Clear;

Query1.SQL.Add('Select * from stu.db');

case RadioGroup2.ItemIndex of

0: s:= '';

1: s:= 'DESC';

end;

Case radioGroup1.ItemIndex of

0: s:= 'Order by Fio ' + s;

1: s:= 'Order by Gr ' + s;

2: s:= 'Order by Stip ' + s;

3: s:= 'Order by Gru ' + s;

4: s:= '';

end;

Query1.SQL.Add(s);

Query1.Open; end;

procedure TForm1.Button2Click(Sender: TObject);

var s:string;

begin

Query1.Close;

Query1.SQL.Clear;

Query1.SQL.Add('Select * from stu.db');

Case RadioGroup3.ItemIndex of

0: s:= 'Order by Gr ';

1: s:= 'Order by Stip ';

2: s:= 'Order by Gru ';

3: s:= '';

end;

Query1.SQL.Add(s);

Query1.Open;

end;

Запросы к базе данных «Компьютерная фирма»:

Product (maker, model, type) – производитель, номер модели, тип (PC – ПК, Laptop – ноутбук, Printer- принтер).

PC (code, model, speed, ram, hd, cd, price) – код, модель, скорость процессора (МГц), общий объем памяти (Мб), размер диска (Гб), скорость считывающего устройства (12х,…).

Laptop (code, model, speed, ram, hd, screen, price) – аналогично РС, screen – размер экрана.

Printer (code, model, color, type, price)

Задачи по БД «Компьютерная фирма»

Найдите номер модели, скорость и размер жесткого диска для всех ПК стоимостью менее $500. Вывести model, speed и hd


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: