정보보안
[정보보안] SQL - Union
SweetDev
2021. 2. 4. 02:32
SQL Injection에서 엄청 많이 사용되는 'union' 연산자이다.
union 연산자를 쓰면, 여러개의 SELECT문의 결과를 합집합해서 보여줄 수 있다.
- 각각의 SELECT 문은 컬럼 갯수가 같아야 한다.
- 컬럼의 데이터 타입이 비슷하거나 같아야 한다.
- 컬럼의 순서가 같아야 한다.
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
만약 결과를 중복해서 보여주고 싶다면,
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
UNION ALL을 사용하면 된다.
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
이렇게 WHERE , ORDER BY와 같이 사용할 수도 있다.