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

SELECT запросы

Первая таблица «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;