서브쿼리 문법서브쿼리란?서브쿼리는 메인 쿼리(Main Query) 안에 포함된 서브쿼리(또는 내부 쿼리라고도 함)입니다.SQL문의 내부에 DBMS가 제공하는 다양한 함수를 넣을 수 있는 것과 마찬가지로 함수가 들어갈 수 있는 위치에는 그 위치에 맞는 결과를 반환하는 또 다른 독립적인 SQL문을 서브쿼리라고 합니다.서브쿼리는 메인쿼리의 칼럼 사용 여부에 따라 연관 서브쿼리와 비연관 서브쿼리로 나뉩니다.연관(Correlated) 서브쿼리: 메인쿼리 칼럼을 서브쿼리에서 사용.비연관(Un-Correlated) 서브쿼리: 메인쿼리의 칼럼을 서브쿼리에서 사용하지 않음.서브쿼리는 메인 쿼리의 조건으로 사용되거나, 메인 쿼리에 필요한 값을 제공합니다.괄호 ( ) 안에 작성되며, 일반적으로 SELECT문을 포함합니다.서..
CTE (WITH 문)CTE(Common Table Expressions) 또는 WITH문은 SQL에서 쿼리를 간결하고 구조적으로 작성할 수 있도록 도와주는 기능입니다. CTE는 임시 테이블처럼 사용할 수 있는 쿼리를 정의하여, 복잡한 쿼리를 여러 단계로 나누거나 반복해서 사용할 때 유용합니다.CTE (WITH 문) 개념CTE는 WITH 절을 사용하여 이름이 지정된 쿼리를 미리 정의하고, 이후의 메인 쿼리에서 이를 참조할 수 있도록 합니다. WITH로 정의된 CTE는 일종의 임시 테이블 역할을 하며, 코드 가독성을 높이고 중첩 쿼리를 줄일 수 있어 복잡한 SQL을 더 쉽게 작성할 수 있습니다. 기본 구문WITH cte_name AS ( 서브쿼리)SELECT ...FROM cte_name;cte_na..
IF/IFNULL 함수IF 함수IF 함수는 특정 조건에 따라 다른 값을 반환할 때 사용됩니다. 단일 조건뿐 아니라 여러 조건을 다룰 때 중첩된 IF를 사용할 수 있습니다. 기본 구문IF(조건, 참일 때 반환 값, 거짓일 때 반환 값) 단일 조건 예시 직원 테이블에서 급여(salary)가 70000 이상인 경우 ‘High’, 그렇지 않으면 ‘Low’로 표시하는 예시입니다.SELECT employee_name, salary, IF(salary >= 70000, 'High', 'Low') AS salary_levelFROM employees;salary가 70000 이상이면 salary_level 열에 'High'가 표시되고, 그렇지 않으면 'Low'가 표시됩니다.다중 조건 (중첩된 IF) 예..
WINDOW 함수SQL의 윈도우 함수는 집계와 변환 작업을 특정한 범위(윈도우) 내에서 수행하여, 결과를 집계와는 다르게 각 행에 대해 별도의 값을 반환하는 함수입니다.윈도우 함수를 사용하면 데이터에 대한 누적 합계, 순위, 이동 평균 등을 쉽게 계산할 수 있습니다.윈도우 함수의 개념윈도우 함수는 각 행에 대한 연산을 수행하되, 전체 또는 특정 그룹(윈도우) 내에서 계산을 수행하여 개별 행에 결과를 반환합니다. 이를 통해 누적 합계, 이동 평균, 순위 등을 계산할 수 있으며, 행을 유지하면서 데이터를 분석할 때 유용합니다.행과 행 간의 관계를 나타내는 연산을 쉽게 하기 위한 함수윈도우 함수는 OVER 절을 사용하여 실행되며, 여기서 특정 기준(PARTITION BY, ORDER BY)을 설정하여 원하는 ..
연결(JOIN) 쿼리JOIN의 종류INNER JOIN: 두 테이블의 조인 조건을 만족하는 데이터만 반환합니다.LEFT JOIN (또는 LEFT OUTER JOIN): 왼쪽 테이블의 모든 데이터와, 오른쪽 테이블에서 조인 조건을 만족하는 데이터를 반환합니다. 조인 조건을 만족하지 않는 오른쪽 테이블의 데이터는 NULL로 표시됩니다.RIGHT JOIN (또는 RIGHT OUTER JOIN): 오른쪽 테이블의 모든 데이터와, 왼쪽 테이블에서 조인 조건을 만족하는 데이터를 반환합니다. 왼쪽 테이블에서 조건을 만족하지 않는 데이터는 NULL로 표시됩니다.FULL JOIN (또는 FULL OUTER JOIN): 두 테이블의 모든 데이터를 반환하며, 조인 조건을 만족하지 않는 부분은 NULL로 표시됩니다.CROSS ..
변환 쿼리문자열 변환 함수문자열 변환 함수는 텍스트 데이터를 다룰 때 사용되며, 특정 패턴으로 문자열을 변환하거나 길이를 조정하는 데 유용합니다. 주요 문자열 변환 함수UPPER: 문자열을 대문자로 변환합니다.SELECT UPPER(name) AS upper_name FROM students; LOWER: 문자열을 소문자로 변환합니다.SELECT LOWER(name) AS lower_name FROM students; CHR (또는 CHAR): 입력되는 ASCII 코드값에 대응하는 문자를 반환합니다.SELECT CHR(97) FROM DUAL;-- a 출력 CONCAT: 문자열을 연결합니다.SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM stu..
집계 쿼리집계 함수 (Aggregate Functions)SQL의 집계 함수는 여러 행을 하나의 값으로 요약해주는 함수입니다. 집계 함수는 GROUP BY와 함께 자주 사용되며, 데이터를 요약하고 통계적인 정보를 제공할 때 매우 유용합니다. 주요 집계 함수COUNT: 특정 열에 있는 행의 개수를 계산합니다.SUM: 특정 열의 합계를 계산합니다.AVG: 특정 열의 평균값을 계산합니다.MIN: 특정 열의 최소값을 반환합니다.MAX: 특정 열의 최대값을 반환합니다.예시SELECT COUNT(id) AS total_studentsFROM students;이 쿼리는 students 테이블에서 학생의 전체 수를 계산하여 total_students라는 열로 반환합니다.SELECT AVG(age) AS average_..
✨ SQL 산술 연산자 (Arithmetic Operators)산술 연산자는 SQL에서 숫자 값의 계산을 수행할 때 사용하는 기본 연산자들입니다. 테이블의 특정 열에 대한 계산을 하거나 여러 값을 조합하여 새로운 결과를 만들어낼 수 있습니다.연산자 설명 예시 결과+덧셈: 두 값을 더함SELECT 10 + 5;15-뺄셈: 첫 번째 값에서 두 번째 값을 뺌SELECT 10 - 5;5*곱셈: 두 값을 곱함SELECT 10 * 5;50/나눗셈: 첫 번째 값을 두 번째 값으로 나눔SELECT 10 / 2;5%나머지: 첫 번째 값을 두 번째 값으로 나눈 나머지SELECT 10 % 3;1💡 예시월급에 보너스 추가직원의 월급에 보너스를 더하여 총 급여를 조회할 수 있습니다.SELECT employee_id, sala..