집합연산자 실습문제를 풀어보자!
Chapter 5 - 집합 연산자
집합 A = {L M N O P}로 설정하고 집합 B = {P Q R S T}로 설정하면 다음 연산은 각각 어떤 집합을 생성할까요?
- A union B
- A union all B
- A intersect B
- A except B
union
과 union all
의 차이는 중복제거다.
성이 L로 시작하는 모든 배우와 고객의 이름과 성을 찾는 복합 쿼리를 작성하라.
SELECT
c.first_name AS fname
, c.last_name AS lname
FROM customer c
WHERE c.last_name LIKE 'L%'
UNION
SELECT
a.first_name
, a.last_name
FROM actor a
WHERE a.last_name LIKE 'L%' ;
24개의 결과값이 반환된다.
fname |lname |
----------+------------+
MISTY |LAMBERT |
JACOB |LANCE |
RENEE |LANE |
HEIDI |LARSON |
DARYL |LARUE |
LAURIE |LAWRENCE |
JEANNE |LAWSON |
LAWRENCE |LAWTON |
KIMBERLY |LEE |
LOUIS |LEONE |
SARAH |LEWIS |
GEORGE |LINTON |
MAUREEN |LITTLE |
DWIGHT |LOMBARDI |
JACQUELINE|LONG |
AMY |LOPEZ |
BARRY |LOVELACE |
PRISCILLA |LOWE |
VELMA |LUCAS |
WILLARD |LUMPKIN |
LEWIS |LYMAN |
JACKIE |LYNCH |
MATTHEW |LEIGH |
JOHNNY |LOLLOBRIGIDA|
last_name
열을 기준으로 문제2의 결과를 정렬하라.
order by
는 쿼리문의 가장 마지막에 위치하도록 하라 했다. SELECT
c.first_name AS fname
, c.last_name AS lname
FROM customer c
WHERE c.last_name LIKE 'L%'
UNION
SELECT
a.first_name
, a.last_name
FROM actor a
WHERE a.last_name LIKE 'L%'
ORDER BY lname ;
24개의 결과값이 성(last name) 기준으로 정렬되었당 😊
fname |lname |
----------+------------+
MISTY |LAMBERT |
JACOB |LANCE |
RENEE |LANE |
HEIDI |LARSON |
DARYL |LARUE |
LAURIE |LAWRENCE |
JEANNE |LAWSON |
LAWRENCE |LAWTON |
KIMBERLY |LEE |
MATTHEW |LEIGH |
LOUIS |LEONE |
SARAH |LEWIS |
GEORGE |LINTON |
MAUREEN |LITTLE |
JOHNNY |LOLLOBRIGIDA|
DWIGHT |LOMBARDI |
JACQUELINE|LONG |
AMY |LOPEZ |
BARRY |LOVELACE |
PRISCILLA |LOWE |
VELMA |LUCAS |
WILLARD |LUMPKIN |
LEWIS |LYMAN |
JACKIE |LYNCH |