SQL

SQL.2

신동편 2023. 3. 22. 01:43
728x90

JOIN

 

SQL에서 JOIN은 둘 이상의 테이블에서 데이터를 검색하고 결합하는 데 사용되는 기능이다.

 

1. INNER JOIN 두 테이블의 공통된 값만 반환한다. 즉, 두 테이블에서 동일한 값을 가지는 행들만 반환한다.

 

2. LEFT JOIN 왼쪽 테이블의 모든 행을 반환하고 오른쪽 테이블에서 일치하는 행을 반환한다. 오른쪽 테이블에서 일치하는 행이 없으면 NULL 값으로 반환한다.

 

3. RIGHT JOIN 오른쪽 테이블의 모든 행을 반환하고 왼쪽 테이블에서 일치하는 행을 반환한다. 왼쪽 테이블에서 일치하는 행이 없으면 NULL 값으로 반환된다.

 

4. FULL OUTER JOIN 두 테이블의 모든 행을 반환한다. 일치하지 않는 경우에는 NULL 값으로 반환된다.

 

5. SELF JOIN 단일 테이블에서 사용되며, 테이블을 자체적으로 결합한다. 자체 결합을 사용하여 테이블 내에서 관계를 만들 수 있다.

 


UNION

 

UNION은 SQL에서 두 개 이상의 SELECT 문의 결과를 결합하는 데 사용되는 연산자이다. UNION은 중복되지 않는 고유한 결과만 반환하며, UNION ALL은 중복된 결과를 모두 반환한다.

 

다음은 UNION 사용의 예시이다.

SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;

UNION은 데이터를 결합할 때 유용한 기능이다. 하지만 이를 사용하면 결과 집합이 매우 커지므로 성능 문제가 발생할 수 있다.

 


SUBQUERY

 

서브쿼리(Subquery)는 쿼리문 안에서 또 다른 쿼리문을 사용하는 것을 말한다.

서브쿼리는 WHERE, SELECT, FROM 절에서 사용된다.

 

1. WHERE 절에서 사용되는 서브쿼리

WHERE 절에서 사용되는 서브쿼리는 주로 부분 집합을 필터링하기 위해 사용된다. WHERE 절에서 사용되는 서브쿼리는 다음과 같은 형태를 가진다.

SELECT column1, column2, ...
FROM table1
WHERE column1 operator (
    SELECT column2 
    FROM table2 
    WHERE condition
)

 

2. SELECT 절에서 사용되는 서브쿼리

SELECT 절에서 사용되는 서브쿼리는 주로 서브쿼리의 결과 값을 주 쿼리문에서 사용하기 위해 사용된다. SELECT 절에서 사용되는 서브쿼리는 다음과 같은 형태를 가진다.

SELECT column1, column2, ..., (
    SELECT column2 
    FROM table2 
    WHERE condition
) AS subquery_alias
FROM table1

 

 

3. FROM 절에서 사용되는 서브쿼리

FROM 절에서 사용되는 서브쿼리는 주로 서브쿼리의 결과 값을 가지고 새로운 테이블을 만들기 위해 사용된다. FROM 절에서 사용되는 서브쿼리는 다음과 같은 형태를 가진다.

SELECT column1, column2, ...
FROM (
    SELECT column1, column2, ...
    FROM table1 
    WHERE condition
) AS subquery_alias

 

서브쿼리는 쿼리문의 복잡도를 증가시키므로, 적절하게 사용하는 것이 중요하다.

 


WITH

 

WITH절은 SQL에서 임시로 사용할 수 있는 테이블 혹은 서브쿼리를 정의하는 문법이다. WITH 절을 사용하면 복잡한 쿼리를 단순화하고 가독성을 높일 수 있다.

 

WITH 절의 구조는 다음과 같다.

WITH name (column1, column2, ...) AS (
  SELECT column1, column2, ...
  FROM table_name
  WHERE condition
)
SELECT column1, column2, ...
FROM name

위의 구문에서, name은 임시로 생성될 테이블의 이름이며, column1, column2 등은 임시로 생성될 테이블의 컬럼 이름이다. 이후 SELECT 절에서는 생성된 테이블을 사용하여 데이터를 가져온다.

 

WITH 절을 사용하면 같은 서브쿼리를 반복적으로 사용하는 경우에도 코드의 중복을 줄일 수 있다.

WITH 절은 복잡한 쿼리를 작성할 때 유용하다. 

 


SUBSTRING_INDEX

 

SUBSTRING_INDEX 함수는 SQL에서 문자열을 분리하는 함수 중 하나이다. 문자열에서 특정 구분자(delimiter)를 기준으로 일부 문자열을 추출할 때 사용된다.

 

SUBSTRING_INDEX 함수의 구문은 다음과 같다.

SUBSTRING_INDEX(str, delimiter, count)

str: 추출할 문자열이다.

delimiter: 문자열에서 구분자이다.

count: 추출할 구분자의 수이다.

 

SUBSTRING_INDEX 함수는 delimiter 기준으로 count 개수만큼 문자열을 추출한다. count가 양수인 경우, 문자열의 앞에서부터 delimiter를 기준으로 추출한다. count가 음수인 경우, 문자열의 뒤에서부터 delimiter를 기준으로 추출한다.

 


SUBSTRING

 

SQL에서 SUBSTRING 함수는 문자열에서 일부 문자열을 추출하는 데 사용되는 함수이다.

 

SUBSTRING 함수는 다음과 같은 구문을 가진다.

SUBSTRING(string, start, length)

 

string: 추출할 문자열이다.

start: 추출을 시작할 위치이다. 0부터 시작한다.

length: 추출할 문자열의 길이다. 생략할 경우, 문자열의 끝까지 추출한다.

 


CASE

 

SQL의 CASE 문은 조건부 논리식을 사용하여 값을 계산하거나 반환하는 방법이다.

 

CASE 
  WHEN condition1 THEN result1
  WHEN condition2 THEN result2
  ...
  WHEN conditionN THEN resultN
  ELSE default_result
END

 

위의 구문에서 condition1, condition2, ..., conditionN은 각각 조건을 나타내며, result1, result2, ..., resultN은 각 조건에 대한 결괏값이다. ELSE 절은 모든 조건이 만족되지 않았을 경우 반환할 값을 지정한다.

 


Fiji Blue - Feel Something

728x90

'SQL' 카테고리의 다른 글

SQL.3  (0) 2023.03.23
SQL.1  (1) 2023.03.20