Оператор 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;

Лабораторна робота № 4

Тема: Структуровані запити і підзапити.

Завдання: Створити запити на об’єднання декількох таблиць. Використати самооб’єднання таблиці (таблицю об’єднують саму з собою). Не менше 10 запитів. Крім того створити підзапити з використанням not in, all, any, exists, not exists. Створити підзапити з використанням update, delete, insert.

1.Об’єднання таблиць

v select robitnyk.kod_robitnyka,robitnyk.posada,zeh.nazva_zehu

from robitnyk,zeh

where robitnyk.zarplata>3000

and robitnyk.full_name=zeh.full_name

and zeh.kod_zehu>15;

­

v select zeh.full_name,zeh.nazva_zehu,zamovlennya.kod_klienta

from zeh,zamovlennya

where zamovlennya.data_zamov lennya>‘2014-09-27 12:34:45’

and zeh.nazva_tovaru=zamovlennya.nazva_tovaru

and kilkist_robitnykiv>60;

v select klient.full_name,klient.adressa,zamovlennya.data_zamovlennya

from klient,zamovlennya

where zamovlennya.nazva_tovaru like'%k%'

and zamovlennya.kod_klienta=klient.kod_klienta

and klient.telefon not like'%9%4%7%';

v select zamovlennya.kod_klienta,zeh.kod_zehu,robitnyk.telefon

from zamovlennya,zeh,robitnyk

where robitnyk.stazh>2

and robitnyk.full_name=zeh.full_name

and zeh.nazva_tovaru=zamovlennya.nazva_tovaru

and zamovlennya.cina between 50000 and 95000

and zeh.kilkist_robitnykiv>50;

v select klient.full_name,zamovlennya.data_vykonannya as data,zeh.nazva_zehu

from klient,zeh,zamovlennya

where zeh.full_name like '%v%' and zeh.nazva_tovaru=zamovlennya.nazva_tovaru and zamovlennya.kod_klienta=klient.kod_klienta

and zamovlennya.data_zamovlennya between '2015-01-15 13:00:00' and '2015-03-15 12:00:00'

and klient.Nayavnist_znyzhky=1;

v select robitnyk.kod_robitnyka as robitnyk,zeh.nazva_zehu as zeh,klient.kod_klienta as klient,zamovlennya.data_zamovlennya as work_begin,zamovlennya.data_vykonannya as work_end from robitnyk,zeh,klient,zamovlennya

where robitnyk.adressa not like'a%'

and robitnyk.full_name=zeh.full_name and zeh.nazva_tovaru=zamovlennya.nazva_tovaru

and zamovlennya.kod_klienta=klient.kod_klienta

and zamovlennya.cina>90000 and zeh.kilkist_robitnykiv>25;

2.Самооб’єднання таблиць

v select a.kod_robitnyka,a.full_name,a.telefon

from robitnyk a,robitnyk b

where a.stazh=b.stazh

and a.posada!=b.posada

order by a.full_name;

v select a.kod_robitnyka as kod,a.full_name as name,a.kilkist_robitnykiv

from zeh a,zeh b

where a.nazva_tovaru!=b.nazva_tovaru

and a.nazva_zehu=b.nazva_zehu

and a.kod_robitnyka=b.kod_robitnyka;

v select distinct a.kod_klienta as klient,a.nazva_tovaru as tovar,a.cina

from zamovlennya a,zamovlennya b

where a.cina=b.cina

and a.data_zamovlennya between ’ 2014-05-14 17:30:00‘ and '2015-01-23 12:45:00';

v select a.kod_klienta as klient,a.full_name as name

from klient a,klient b

where a.kod_klienta=b.kod_klienta

and a.nayavnist_znyzhky!=true;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: