Первая таблица “laps”
CREATE TABLE laps(
lapsID int not null PRIMARY KEY identity(1,1),
nimi varchar(40) not null unique,
pikkus smallint,
synniaasta int null,
synnilinn varchar(15)
);
--tabeli kustutamine - удаление таблицы
drop table laps;
--tabeli kuvamine - просмотр, выбор таблиц ( * - выбор всей таблицы)
select * from laps;

--tabeli andmete sisestamine - вставка данных в таблицы
INSERT INTO laps (nimi, synnilinn, pikkus, synniaasta)
VALUES ('Mark', 'Tallinn', 160, 2007),
('Vlad', 'Tallinn', 170, 2005),
('Mart', 'Paldiski', 170, 2003),
('Polina', 'Narva', 145, 2006);
Вторая таблица “loom”
CREATE TABLE loom(
loomID int not null PRIMARY KEY identity(1,1),
nimi varchar(40) not null,
kaal smallint,
lapsID int,
FOREIGN KEY (lapsID) REFERENCES laps(lapsID)
)
--просмотр двух таблиц и добавление каких-либо данных в таблицу "loom"
select * from loom;
select * from laps;
INSERT INTO loom (nimi, kaal, lapsID)
VALUES ('kass Gleb', 5, 6);

Связь таблиц в виде диаграммы базы данных:

Просмотры
--näita kõike - показывает все с таблицы
select * from laps;

Просмотр определенных столбцов
--näita ainult nimed - показывает определенные столбцы
select nimi from laps;

Просмотр определенных данных
--näita ainult nimed mis algavad J tähega - показывает только имена с буквой J
select nimi from laps
WHERE nimi LIKE 'J%';

Просмотр несколько столбцов
--näita kask veergu nimi ja pikkus - показывает два столбца
select nimi, pikkus from laps

Промежутки
--nimed algavad J tähega ja pikkus rohkem kui 130 - два варианта отображения определенных данных
select nimi, pikkus from laps
WHERE nimi like 'J%' AND pikkus > 130;
--pikkus on vahemikus (110;130)
select nimi, pikkus from laps
WHERE pikkus > =110 AND pikkus <=130;
select nimi, pikkus from laps
WHERE pikkus Between 110 AND 130;
картинки нет, т.к. таких данные отсутствуют
Сортировка DESC, ASC
--2. sorteerimine DESC - по убыванию, ASC - по возрастанию
SELECT nimi, pikkus
FROM laps
ORDER by nimi DESC

Сортировка при определенных значениях
--3. sorteerimine kahe väljade järgi
SELECT nimi, pikkus
FROM laps
ORDER by nimi, pikkus

Среднее значение
--5. находит среднее значение по столбцу pikkus
--только для детей рожденных начиная с 2000 года
--и столбик назовет keskmine_pikkus
SELECT AVG(pikkus) AS keskmine_pikkus
FROM laps
WHERE synniaasta > 2000

Обновление данных
--6. обновление данных до и после
select * from laps;
UPDATE laps
SET pikkus=pikkus*1.1;
select * from laps;

Обновление данных
-- у всех у кого имя начинается с буквы J, заменяет города на Tallinn
select * from laps;
UPDATE laps
SET synnilinn='Tallinn'
WHERE nimi like 'J%';
select * from laps;
картинка отсутствует
Просмотр таблиц под определенные запросы
--select laused 2tabeli põhjal
SELECT * from laps, loom
WHERE laps.lapsID=loom.lapsID;
SELECT loom.nimi, laps.nimi,laps.synniaasta
from laps, loom
WHERE laps.lapsID=loom.lapsID;

Соединение
-- INNER JOIN - внутреннее соединение
SELECT loom.nimi, laps.nimi,laps.synniaasta
from laps INNER JOIN loom
ON laps.lapsID=loom.lapsID;

Псевдонимы
-- использование псевдонимов таблиц
SELECT lo.nimi, l.nimi,l.synniaasta
from laps l INNER JOIN loom lo
ON l.lapsID=lo.lapsID;

Просмотр определенных строчек
-- показывает первые 3 строчки
select TOP 3 * from laps;

3 своих запроса
1. Просмотр только тех имен, у которых год рождения находятся в промежутках 2005-2007.
SELECT nimi from laps
WHERE synniaasta Between 2005 and 2007;

2. Просмотр только двух столбцов (до и после), и их обновление данных (pikkus).
select nimi, pikkus from laps;
UPDATE laps
SET pikkus=pikkus/1.5;
select nimi, pikkus from laps;

3. Показывает средний год рождения.
SELECT AVG(synniaasta) AS keskmine_synniaasta
FROM laps;
