여러 조건에 대한 SQL 조인

Yeoleo Jogeon E Daehan Sql Join



관계형 데이터베이스의 가장 일반적인 기능 중 하나는 조인입니다. SQL 조인은 둘 이상의 테이블에서 표준 기능 또는 열을 기반으로 하는 단일 결과 집합으로 데이터를 결합하는 프로세스를 나타냅니다.

테이블을 조인하면 단일 쿼리로 여러 테이블에 저장된 데이터를 검색할 수 있으므로 데이터 분석 및 보고를 위한 강력한 도구가 됩니다.







이 자습서에서는 여러 조건에서 SQL 조인을 수행하는 방법을 알아봅니다. 'AND' 및 'OR' 논리 연산자를 사용하여 여러 조건에 따라 데이터를 결합하는 방법을 배웁니다.



여러 조건에 대한 SQL 조인

SQL에서 AND 또는 OR 연산자를 사용하여 여러 조건을 지정할 수 있습니다. 이러한 연산자를 사용하면 결과 집합에 대해 평가 및 비교되는 부울 식 집합을 정의할 수 있습니다.



지정된 모든 조건이 참인지 확인하기 위해 AND 연산자를 사용합니다. 조건 중 하나라도 참이 아니면 전체 표현식이 거짓으로 렌더링됩니다. 따라서 AND 연산자는 극단적인 데이터 필터링을 위한 탁월한 도구입니다.





반면에 조건 중 하나 이상이 참이어야 할 때 OR 연산자를 사용합니다. 이렇게 하면 결과 레코드가 정의된 매개변수를 하나 이상 충족해야 하므로 보다 '느슨한' 데이터 필터링 방법이 됩니다.

AND 및 OR 연산자의 기능은 SQL 조인의 경우에도 변경되지 않습니다.



SQL 다중 조인 예

여러 조건에서 조인을 사용하는 방법을 이해하려면 예제를 사용하는 것이 가장 좋습니다.

이 데모에서는 SQL의 전체 기능을 탐색하기 위해 개발된 Sakila 데이터베이스를 사용합니다.

우리가 영화와 film_actor 테이블에서 데이터를 가져오고 싶다고 가정해 봅시다. 먼저, PG 또는 PG-13 등급이고 길이가 90에서 120 사이인 영화에 출연한 모든 배우를 찾고자 합니다.

이러한 시나리오에서는 다음과 같이 여러 조건으로 조인을 수행해야 합니다.

SELECT actor.first_name, actor.last_name, film.title, film.release_year, film.rating
배우로부터
JOIN film_actor ON actor.actor_id = film_actor.actor_id
JOIN 영화 ON film_actor.film_id = film.film_id
WHERE film.length BETWEEN 90 그리고 120
AND 영화 등급 IN ( 'PG' , 'PG-13' ) ;


이전 쿼리에서 볼 수 있듯이 actor_id 열을 기반으로 actor와 film_actor 테이블 간에 조인을 수행하도록 SQL에 지시합니다. 또한 film_id 열을 사용하여 film_actor와 film 테이블 간에 조인을 수행합니다. 또한 개봉 연도와 영화 길이를 기준으로 결과 테이블을 필터링하기 위해 WHERE 절을 사용하여 두 가지 조건을 정의합니다.

결과 테이블은 다음과 같습니다.


다음 예제 쿼리와 같이 OR 연산자를 기반으로 여러 조건을 지정할 수도 있습니다.

SELECT film.title, film.rental_rate, category.name
영화에서
JOIN film_category ON film.film_id = film_category.film_id
JOIN 카테고리 ON film_category.category_id = category.category_id
WHERE 카테고리.이름 IN ( '행동' , '코메디' )
AND 영화.임대료 > 3.00 ;


결과 테이블은 다음과 같습니다.

결론

이 자습서에서는 AND 및 OR 연산자를 사용하여 여러 조건을 기반으로 SQL 조인을 사용하는 방법을 살펴보았습니다. 이는 보다 세분화된 데이터 필터링을 제공합니다.