SQL присъединяване при множество условия

Sql Pris Edinavane Pri Mnozestvo Uslovia



Една от най-разпространените характеристики на релационните бази данни е присъединяването. SQL обединенията се отнасят до процеса на комбиниране на данните от две или повече таблици в един резултатен набор въз основа на стандартни функции или колони.

Обединяването на таблиците ни позволява да извличаме данните, които се съхраняват в множество таблици в една заявка, което го прави мощен инструмент за анализ на данни и отчитане.







В този урок ще открием как да изпълняваме SQL обединения при множество условия. Ще се научим да използваме логическите оператори „И“ и „ИЛИ“, за да обединим данните въз основа на множество условия.



SQL съединява при множество условия

Можем да посочим множество условия, като използваме операторите И или ИЛИ в SQL. Тези оператори ни позволяват да дефинираме набор от булеви изрази, които след това се оценяват и сравняват с получения набор.



Използваме оператора И, за да гарантираме, че всички посочени условия са верни. Ако дори едно от условията не е вярно, целият израз се прави неверен. Това прави оператора И изключителен инструмент за екстремно филтриране на данни.





От друга страна, ние използваме оператора OR, когато трябва поне едно от условията да е вярно. Това го прави по-„свободен“ метод за филтриране на данни, тъй като полученият запис трябва да отговаря само на поне един дефиниран параметър.

Функционалността на операторите И и ИЛИ не се променя дори в случай на SQL присъединяване.



Пример за множество съединявания на SQL

За да разберете как да работите с обединения при множество условия, най-добре е да работите с пример.

За тази демонстрация използваме базата данни Sakila, която е разработена, за да изследва пълните възможности на SQL.

Да предположим, че искаме да извлечем данните от филма и таблиците film_actor. Първо, искаме да намерим всички актьори, които са участвали във филма, които са с рейтинг PG или PG-13 и имат дължина между 90 и 120.

В такъв сценарий трябва да извършим свързване с множество условия, както е показано по-долу:

ИЗБЕРЕТЕ actor.first_name, actor.last_name, film.title, film.release_year, film.rating
ОТ актьор
ПРИСЪЕДИНЕТЕ СЕ към film_actor ON actor.actor_id = film_actor.actor_id
ПРИСЪЕДИНЕТЕ СЕ към филм В film_actor.film_id = film.film_id
WHERE филм.дължина BETWEEN 90 И 120
И филм.оценка IN ( 'PG' , 'PG-13' ) ;


Както можете да видите от предишната заявка, казваме на SQL да извърши свързване между таблиците actor и film_actor въз основа на колоната actor_id. Ние също така извършваме свързване между film_actor и филмовите таблици, като използваме колоната film_id. Също така гарантираме дефинирането на две условия, като използваме клаузата WHERE, за да филтрираме таблицата с резултати въз основа на годината на издаване и дължината на филма.

Получената таблица е както следва:


Можем също да посочим множеството условия въз основа на оператора OR, както е показано в следната примерна заявка:

ИЗБЕРЕТЕ film.title, film.rental_rate, category.name
ОТ филм
ПРИСЪЕДИНЕТЕ СЕ към film_category ON film.film_id = film_category.film_id
ПРИСЪЕДИНЕТЕ СЕ към категория НА film_category.category_id = category.category_id
WHERE category.name IN ( 'екшън' , 'Комедия' )
И film.rental_rate > 3.00 ;


Получената таблица е както следва:

Заключение

Този урок изследва как да работите със SQL обединения въз основа на множество условия, като използвате операторите И и ИЛИ. Това осигурява по-подробно филтриране на данни.