CREATE TABLE laps(
lapsID int not null PRIMARY KEY identity(1,1), ---для SQLSERVER
nimi varchar(40) not null unique,
pikkus smallint,
synniaasta int null,
synnilinn varchar(15)
);
CREATE TABLE laps(
lapsID int not null PRIMARY KEY auto_increment, ---для XAMPP
nimi varchar(40) not null unique,
pikkus smallint,
synniaasta int null,
synnilinn varchar(15)
);
auto_increment – заполняет поле автоматически числовыми значениями!=identity(1,1)
unique = Уникальные
drop table laps = Удалить таблицу
select * from laps; = можно проверить создалась ли таблица.
Заполнение таблицы
Insert into laps (nimi,synnilinn,pikkus,synniaasta)
Values ('Juhan','Tallinn', 170,2003),
('Johan','Tartu', 180,2000),
('Malik','Tartu', 160,2005),
('Karina','Tartu', 160,2011),
('Anna','Tallinn', 170,2000),
('Katerina','Tartu', 160,2002),
('Tatjana','Tartu', 170,2001),
('Karolina','Tallinn', 160,2004),
('Marta','Tartu', 160,2000);
Вторичный ключ
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)
Заполнение таблицы для SQLServer. для XAMPP пришлось чуть-чуть изменить ID.
Insert into loom (nimi, kaal, lapsID)
Values ('hiir Little',1,2),
('Koer Chak',7,3),
('hamster Kuzia',1,4),
('Hobune Buzefal',80,5),
('Sisalik Rocky',2,6),
('Madu Zhuzha',2,7),
('Papagoi Chika',1,8),
('Kamrlron Stinki',1,9),
('Kass Persik',7,10);
Правый щелчек по Database Diagrams => New Database => Yes => Add(Добавляем таблицы)

Запросы на выборку значений из таблицы
--1.показать всё
select * from laps;
--показать только конкретный столбик
select nimi from laps;
--показать имена которые начинаются на конкретную букву (%)- чтобы программа не искала одну букву, а понимала что мы указываем только первую
select nimi from laps
Where nimi Like 'J%';
--показать несколько столбиков
select nimi,pikkus from laps;
--Показать имена на конкретную букву, рост выше уонуретного значения.
select nimi,pikkus from laps
Where nimi Like 'J%' AND pikkus > 130;
--Показать имена людей чей рост между 130 и 170
select nimi,pikkus from laps
Where pikkus >=130 AND pikkus<=170;
--Одинаковые записиˇ^
select nimi,pikkus from laps
Where pikkus Between 130 And 170;
--2.Сортировка DESC = по убыванию, ASC = по возростанию (по умолчанию)
SELECT nimi, pikkus
FROM laps
ORDER by nimi DESC

--3.Cортировка по двум полям
SELECT nimi, pikkus
FROM laps
ORDER by nimi, pikkus

--4.
SELECT nimi, pikkus
FROM laps
WHERE nimi LIKE 'K%' --имя начинается на K

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

--6. увеличиваем рост всех детей на 10% -- для SQLSERVER в XAMPP не принимает строку Select*from laps дважды в одном запросе
Select*from laps;
UPDATE laps
SET pikkus=pikkus*1.1
Select*from laps;


--6. Изменить город на Таллинн для тех у кого имя начинается на К
Select*from laps;
UPDATE laps
SET synnilinn='Tallinn'
Where nimi like 'K%';
Select*from laps;

Select запросы на основе двух таблиц
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;
Selecet top 3 nimi,pikkus from laps --покажет первых три записи SQLSERVER
SELECT nimi,pikkus FROM laps Limit 3; ; XAMPP
1.
Alter TAble loom add vanus int; --добавление столбца vanus в таблицу loom

2.Select distinct nimi,loomID from loom; -- Показать в порядке убывания значения выбраных столбцов(nimi, loomID)

3. SELECT vanus from loom order by vanus DESC limit 5; -- Показать топ 5 значений столбца vanus.
