DBeaver/이론정리

sub Query, Having,If함수,Case_end, 날짜관련함수 이론정리

qoeka 2024. 11. 29. 17:57

서브쿼리의 유형(퀴리를 한번더)

단일 행 서브쿼리: 한 행을 반환, 단일 행 연산자(=, >, < 등)와 함께 사용
다중 행 서브쿼리: 여러 행을 반환, 다중 행 연산자(IN, ANY, ALL)와 함께 사용
상관 서브쿼리: 외부 쿼리의 열을 참조하는 서브쿼리
일반적인 사용 사례
집계 결과를 기반으로 데이터 필터링
테이블 간 값 비교
FROM 절에서 파생 테이블 생성
복잡한 계산 수행



HAVING 기본 개념(그룹바이에서 만든걸~해줘)

정의
SQL에서 그룹화된 데이터에 조건을 적용하는 절
GROUP BY 후에 사용되는 필터링 조건
주요 특징
집계 함수와 함께 사용
WHERE와 달리 그룹 레벨에서 조건 적용
집계된 결과에 대한 조건 설정 가능
주요 사용 상황
그룹별 집계 결과 필터링
조건을 만족하는 그룹만 선택
복잡한 데이터 분석에 활용



 

case_end 함수(조건여러개일때)
SQL의 CASE 문은 조건에 따라 다른 결과를 반환하는 제어 흐름 구조입니다. CASE 문의 끝을 나타내는 키워드는 'END'입니다. 'END CASE'는 저장 프로시저나 함수에서 사용되는 CASE 문의 종료를 나타냅니다3.
CASE 문의 기본 구조는 다음과 같습니다:

sql
CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE result
END



CASE 문은 다음과 같은 특징을 가집니다


첫 번째 조건이 충족되면 해당 결과를 반환하고 실행을 중단합니다
모든 조건이 거짓이고 ELSE 절이 없으면 NULL을 반환합니다
SELECT, WHERE, ORDER BY 등 다양한 SQL 문에서 사용할 수 있습니다

CASE 문을 사용한 예시:
sql
SELECT OrderID, Quantity,
    CASE
        WHEN Quantity > 30 THEN '30개 초과'
        WHEN Quantity = 30 THEN '정확히 30개'
        ELSE '30개 미만'
    END AS QuantityText
FROM OrderDetails;


이 쿼리는 Quantity 값에 따라 다른 텍스트를 반환합니다

 

 

날짜 함수(영어읽으면대부분알수있음)

-DATE: 'YYYY-MM-DD' 형식의 날짜를 저장합니다
-TIME: 'HH:MM:SS' 형식의 시간을 저장합니다
-DATETIME: 'YYYY-MM-DD HH:MM:SS' 형식의 날짜와 시간을 저장합니다
-TIMESTAMP: DATETIME과 유사하지만 범위가 제한적입니다

 


주요 함수

-NOW(): 현재 날짜와 시간을 반환합니다
-CURDATE() 또는 CURRENT_DATE: 현재 날짜를 반환합니다
-CURTIME() 또는 CURRENT_TIME: 현재 시간을 반환합니다
-DATE(): datetime 식에서 날짜 부분을 추출합니다
-YEAR(), MONTH(), DAY(): 날짜에서 각각 연도, 월, 일을 추출합니다
-DATE_ADD() 및 DATE_SUB(): 날짜에 특정 기간을 더하거나 뺍니다
-DATEDIFF(): 두 날짜 간의 차이를 일 단위로 계산합니다
-DATE_FORMAT(): 지정된 형식에 따라 날짜 형식을 지정합니다

 


SQL Server 특정 함수

-GETDATE(): 현재 날짜와 시간을 반환합니다 (SQL Server)
-DATENAME(): 날짜의 특정 부분(월, 요일 등)을 문자열로 반환합니다
-DATEPART(): 날짜의 특정 부분을 정수로 반환합니다

 

 

'DBeaver > 이론정리' 카테고리의 다른 글

SQL 함수 이론정리  (0) 2024.11.28
MySQL 함수 이론정리  (0) 2024.11.27
MySQL 테이블 컬럼 중 사용했던 용어 정리  (0) 2024.11.26
aws~테이블 이론 정리  (1) 2024.11.26