728x90
CASE WHEN
SELECT CustomerName, City, Country FROM Customers
ORDER BY
(CASE
WHEN City is NULL Then Country
ELSE City
END);
- 명령어 해석
- Customers 테이블에서 CustomerName, City, Country 속성을 가지고 있는 데이터 조회를 쿼리한다.
- 단 아래의 조건으로 정렬하여 조회 값을 가져온다.
- City 가 null 이라면 Country 기준으로 정렬한다.
- 그렇지 않다면 City 기준으로 정렬한다.
JOIN
기준을 가지고 데이터 결합
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
- 명령어 해석
- Customers 테이블과 Orders 테이블에서 OrderID, CustomerName, OrderDate 데이터 조회를 쿼리한다.
- 단 Orders 테이블의 CustomerID 와 Customers 테이블에 CustomerID 가 같은 경우를 조건으로 조회한다.
UNION
합집합의 개념
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
- 명령어 해석
- Customers 테이블에서 City 를 가져온다.
- Suppliers 테이블에서 City 를 가져온다.
- 두 테이블을 UNION 한다.
- City 를 기준으로 정렬한다.
GROUP BY
특정 열을 기준으로 그룹화하여 나타냅니다.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;
- 명령어 해석
- Customers 테이블에서 CustomerID 의 개수와 Country 데이터 조회를 쿼리한다.
- 단 Country 를 기준으로 그룹화합니다.
HAVING
GROUP BY 와 함께 조건을 부여할 때 쓰입니다.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;
- 명령어 해석
- Customers 테이블에서 CustmerID의 개수와 Country 데이터 조회를 쿼리합니다.
- 단 Country 기준으로 그룹화하여 아래의 조건으로 조회합니다.
- CustomerID 의 개수가 5개 이상인가?
- 위 조건에 해당하는 데이터를 CustomerID 개수를 내림차순으로 정렬합니다.
728x90
'데이터베이스' 카테고리의 다른 글
[DB] SQL 기본 함수(문자, 숫자, 날짜, 시간, 문자 처리 함수) (0) | 2020.12.26 |
---|---|
[DB] INSERT, UPDATE, CREATE, DROP 기본 문법 (0) | 2020.12.26 |
[DB] SELECT 기본 문법 (0) | 2020.12.19 |
댓글