Лабораторна робота 3
Тема.Вибірка даних
Завдання. Використати оператор Select, використати WHERE, вибрати всі дані із якоїсь з таблиць, використати псевдоніми, використати distinct, group by, having, order by, like, between, limit з різними умовами. (Не менше 10 запитів). Cтворити запит з використанням арифметичних дій. Використати оператор Union. Використати оператори left join, right join, inner join.
1.Оператор Select
Повертає набір данних (вибірку) із таблиці.
Вибираєм три поля з таблиці zeh(Select назва_поля(ів) from назва_ таблиці)
Select Nazva_zehu,Nazva_tovaru,Full_name from zeh;
Вибираєм всі поля з таблиці klient
Select * from from klient;
2.Оператор Where
Використовується для фільтрації записів,тобто для отримання тільки тих записів ,які відповідають певним вимогам.
2.1 Оператор Where з однією умовою
Синтаксис: Select назва_совпця(ів) from назва _таблиці where умова.
Вибираєм всі стовпці з таблиці klient, в яких стовбець full_name дорівнює заданому значенню.
Select * from klient where full_name=’Kilis Dmytro Zaharovych’;
2.2. Оператор Where з декількома умовами
Синтаксис: Select назва_стовця(ів) from назва _таблиці where умова.
Вибираєм три стовці з таблиці robitnyk ,в яких одночасно зарплата більша за 1800 і менша за 3000,і стаж більший або дорівнює 3-ом.
Select posada,stazh,zarplata from robitnyk where (zarplata > 1800 and zarplata < 3000) and (stazh >= 3);
3.Оператор DISTINCT
Використовується для поернення тільки різних значень з таблиці.
Синтаксис: Select Distinct назва_стовця(ів) from назва_таблиці
Вибираєм різні значення з 2-х стовців таблиці zeh.
Select Distinct kod_zehu,nazva_zehu from zeh;
4.Оператор Group By
Використовується для групування результату одного або декількох стовців.
Синтаксис:Select назва_стовця(ів) from назва таблиці Group By назва_поля
Вибираєм стовбець nazva_zehu (застосовуєм вбудовану функцію суми для стовця kilkist_robitnykiv ,щоб підрахувати кількість робітників) з таблиці zeh та групуємо за стовцем nazva_zehu
Select nazva_zehu ,sum(kilkist_robitnykiv) from zeh Group by nazva_zehu;
5.Having
Застосовується для фільтрації агрегатних функцій і таблиць сгрупованих за допомогою Group By вказаних в Select .
6.Order By
Використовується для сортування результату.
Синтаксис:Select назва_стовця(ів) from назва_таблиці Order By назва_стовпця,який сортуємо
Select kod_klienta,data_zamovlennya from zamovlennya Order By data_zamovlennya;
Select nazva_tovaru,Cina from zamovlennya Order By nazva_tovaru Desc;
7.Like
Даний оператор використовується з умовою WHERE для пошуку значень за зразком .
Синтаксис:Select назва стовпця(ів) from назва таблиці Where назва стовця Like значення
Select full_name as name,adressa,telefon from klient where full_name like’k%’;
Select full_name as name,adressa,telefon from klient where (full_name like’%ivna’) and telefon like’%547’;
Select full_name as name,adressa,telefon from klient where (adressa like’%fju%’) or (full_name like ‘lap%’) ;
Select full_name as name,adressa,telefon from klient where (ful_name not like’%in%’) and (telefon like ‘%050%’) ;
8.Between
Даний оператор використовується в умові WHERE для вибору даних між двома значеннями.
Синтаксис:Select назва_стовпця(ів) from назва_таблиці Where назва_стовпця Between значення 1 And значення 2
Select full_name,stazh,posada from robitnyk where stazh between 5 And 8;
Select full_name,stazh,zarplata from robitnyk where (posada between ‘buhalter’ And ‘ingener’)
And(zarplata between 3000 and 3500);
9.Limit
Дана умова використовується для повернення певної кількості записів
Синтаксис:Select назва_стовпця(ів) from назва_таблиці Limit кількість записів
Select full_name as name,nazva_zehu as zeh,kilkist_robitnykiv from zeh limit 5;
10.Арифметичні
дії
11.Оператор Union
Використовується для поєднання запросів Select
Синтаксис:Select назва_стовпця(ів) from назва_таблиці 1 Union Select назва_стовпця(ів) from назва_таблиці 2
Select kod_klienta from klient where kod_klienta>300 Union Select kod_klienta from zamovlennya where kod_klienta<270;
Select kod_klienta from klient where kod_klienta<300 Union All Select kod_klienta from zamovlennya where (kod_klienta>230 and kod_klienta<270);
12.Left Join
Повертає рядки з лівої таблиці,навіть якщо їх нема в правій таблиці.
Синтаксис:Select назва_стовпця(ів) from назва_таблиці 1 Left Join назва_таблиці 2 On назва_таблиці 1.назва_стовпця=назва_таблиці 2.назва_стовпця
Select full_name as name,nazva_zehu as zeh,cina from zeh left Join zamovlennya On zeh.nazva_tovaru=zamovlennya.nazva_tovaru Order by Full_name;
12.Right Join
Повертає рядки з правої таблиці,навіть якщо їх нема в лівій таблиці.
Синтаксис: Select назва_стовпця(ів) from назва_таблиці 1 Right Join назва_таблиці 2 On назва_таблиці 1.назва_стовпця=назва_таблиці 2.назва_стовпця
Select full_name as name,nazva_zehu as zeh,cina from zeh Right Join zamovlennya On zeh.nazva_tovaru=zamovlennya.nazva_tovaru Order by Full_name;
13.Inner Join
Повертає рядки,коли є хоча б один збіг в обох таблицях
Синтаксис:Select назва_стовпця(ів) from назва_таблиці 1 Inner Join назва_таблиці 2 On назва_таблиці 1.назва_стовпця=назва_таблиці 2.назва_стовпця
Select full_name as name,nazva_zehu as zeh,cina from zeh Inner Join zamovlennya On zeh.nazva_tovaru=zamovlennya.nazva_tovaru Order by Full_name;
