Перейти к содержимому
Главная страница » SELECT запросы

SELECT запросы

Первая таблица «laps»

1
2
3
4
5
6
7
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)
    );
1
2
3
--tabeli kustutamine - удаление таблицы
 
drop table laps;
1
2
3
--tabeli kuvamine - просмотр, выбор таблиц ( * - выбор всей таблицы)
 
select * from laps;
1
2
3
4
5
6
7
--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»

1
2
3
4
5
6
7
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)
   )
1
2
3
4
5
6
--просмотр двух таблиц и добавление каких-либо данных в таблицу "loom"
 
select * from loom;
   select * from laps;
   INSERT INTO loom (nimi, kaal, lapsID)
   VALUES ('kass Gleb', 5, 6);

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

Просмотры

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

Просмотр определенных столбцов

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

Просмотр определенных данных

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

Просмотр несколько столбцов

1
2
3
--näita kask veergu nimi ja pikkus - показывает два столбца
 
select nimi, pikkus from laps

Промежутки

1
2
3
4
5
6
7
8
9
10
11
--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

1
2
3
4
5
--2. sorteerimine DESC - по убыванию, ASC - по возрастанию
 
SELECT nimi, pikkus
FROM laps
ORDER by nimi DESC

Сортировка при определенных значениях

1
2
3
4
5
--3. sorteerimine kahe väljade järgi
 
SELECT nimi, pikkus
FROM laps
ORDER by nimi, pikkus

Среднее значение

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

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

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

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

1
2
3
4
5
6
7
-- у всех у кого имя начинается с буквы J, заменяет города на Tallinn
 
select * from laps;
UPDATE laps
SET synnilinn='Tallinn'
WHERE nimi like 'J%';
select * from laps;

картинка отсутствует

Просмотр таблиц под определенные запросы

1
2
3
4
5
6
7
--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;

Соединение

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

Псевдонимы

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

Просмотр определенных строчек

1
2
3
-- показывает первые 3 строчки
 
select TOP 3 * from laps;

3 своих запроса

1. Просмотр только тех имен, у которых год рождения находятся в промежутках 2005-2007.

1
2
SELECT nimi from laps
WHERE synniaasta Between 2005 and 2007;

2. Просмотр только двух столбцов (до и после), и их обновление данных (pikkus).

1
2
3
4
select nimi, pikkus from laps;
UPDATE laps
SET pikkus=pikkus/1.5;
select nimi, pikkus from laps;

3. Показывает средний год рождения.

1
2
SELECT AVG(synniaasta) AS keskmine_synniaasta
FROM laps;