double arrow

Использование 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) и не забудь поделиться с друзьями:  



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