티스토리 뷰

AI/SQL

[SQL] CAST, IN, ANY, ALL, 서브쿼리

brave_sol 2025. 4. 13. 14:30

1. CAST

- 문자열을 숫자형 정수로 변경

CAST("20250413") # 20250413

 

2. 나이계산

- 20250413 연도만 비교하기 위해 10000으로 나눠줌

FLOOR( (CAST(REPLACE(CURRENT_DATE,'-','') AS UNSIGNED) - 
       CAST(REPLACE(birthdate,'-','') AS UNSIGNED)) / 10000 ) as age

 

3. 값이 집합에 속하는지 검사할 때: IN

SELECT * FROM emp
WHERE deptno IN (10, 20, 30);

4. 여러 값 중 하나라도 비교 조건 만족할 때 : ANY

SELECT * FROM emp
WHERE salary < ANY (
  SELECT salary FROM emp
  WHERE deptno = 10
);

5. 집합 내 모든 값과 비교할 때 : ALL

SELECT * FROM emp
WHERE salary > ALL (
  SELECT salary FROM emp
  WHERE deptno = 10
);

 

6. 스칼라 서브쿼리

- select문에 들어가는 서브쿼리, 반드시 1행 1열만 반환해야 한다!!

SELECT DISTINCT s1.emp_no,
       (SELECT AVG(salary)
        FROM salaries s2
        WHERE s2.emp_no = s1.emp_no) AS avg_salary
FROM salaries s1;

 

 

반응형

'AI > SQL' 카테고리의 다른 글

[SQL] SQL과 NoSQL  (0) 2025.04.17
[SQL] 인덱스와 뷰, JOIN  (0) 2025.04.17
[SQL] 이상 현상과 정규화  (0) 2025.04.09
[SQL] 제약조건, 키(Key), 인덱스  (0) 2025.04.08
[SQL] 리눅스(ubuntu)에 mysql 설치, SQL 기본 문법  (0) 2025.04.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함