select문에 함수 사용하기
select emp_id, emp_name, emp_no, salary*12 from employee;
select emp_id as 사번, emp_name 이름, substr(emp_no, 1, 6) 주민번호, salary*12 연봉 from employee;
칼럼 대소문자 구분하게하기
utf8mb4
alter table employee
MODIFY marriage char(1)
CHARACTER set utf8mb4 COLLATE utf8mb4_bin;

database 단위 대소문자 구분


create DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
alter DATABASE scottdb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
show variable like ~ 변수조회

sql 표준에서는 "" ''는 식별자로 컬럼명으로 인식되나 mysql은 기본이 sql표준이 아니라 ""를 그저 문자열 취급할 수 있다. 실무에서 는 그래서 백틱, `` 을 권장한다.
이때 ansi_quotes를 켜 활성화시킬수있다.
default시 초기화

join using 연결할 컬럼명 두케이블의 컬럼명 같을때

join on 조건으로 연결

inner join on
조건문인 join on을 쓰면되는데 왜 inner가있을까?
같은 의미지만 가독성때문에 '내부 조인이다'를 명확히 표현한다. inner join의 생략형이 join일 뿐.
팀/회사스타일이 inner join을 명확히하고 left join을 필수로 명시, right join을 가끔 사용하기에 inner join을 더 선호할 수 있다.

left join 왼쪽기준 매칭없으면 null
FROM A 👉 A는 무조건 다 살림
LEFT JOIN B 👉 B는 있으면 붙이고, 없으면 NULL
ON A.id = B.id;

right join 오른쪽 기준
FROM A 👉 A는 있으면 붙이고 없으면 NULL
RIGHT JOIN B 👉 B는 무조건 다 살림
ON A.id = B.id;
이름이나 사번이 없으면 null로 뜨는것. 직급 기준.

full join 양쪽다 기준인데, mysql에서는 사용하지않음


coalesce()

그렇다면 둘의 차이는?
COALESCE랑 IFNULL은 둘 다 NULL을 다른 값으로 바꾸는 함수
ifnull이 2개만 비교한다면
SELECT IFNULL(NULL, 'A'); -- A
SELECT IFNULL('B', 'A'); -- B
coalesce는 여러개중 첫 null 아닌 값을 반환한다.
SELECT COALESCE(NULL, NULL, 'A', 'B'); -- A
distince 값의 종류를 파악할때

현재 날짜와 시간 확인

날짜 계산하기 date_sub, date_add


날짜또한 연산이 된다.
''로 감싸고 비교 컬럼과의 포맷이 일치하여야함

concat() 글자 붙여 출력하기
기존 data나 컬럼을 건들이는 것이 아니라 새로운 컬럼을 만들어 보여주는것일 뿐이다.
이때 다른 데이터도 보고싶다면 *, 를 앞에 붙일것.다만 중복될 수 있다.
SELECT *,
CONCAT(EMP_NAME, '님') AS EMP_NAME_KR
FROM employee
WHERE HIRE_DATE BETWEEN '2015-01-01' AND '2021-12-31';



대문자, 소문자 출력

distinct null값을 제외한다.



GROUP BY
그룹핑, 합계를 구할 수 있다

group by case when else end
그룹으로 묶기 위한 계산식으로 group by 를 사용할 수도 있다.
case when else end 는 if문과 같다.

https://standout.tistory.com/177
조건문, if와 switch
if문과 switch는 비슷하나, 범위는 if문, 값은 switch문이 좋다. if는 그 뜻이 "만약에~"기 때문에 쉽게 이해할 수 있으나 switch-case문은 생소할 수 있는데, 카페에서 메뉴를 선택하는 키오스크를 연상하
standout.tistory.com
max(sum()) 이중 함수는 지원하지않는다. 이 경우 서브쿼리를 활용한다.

having절은 group다음에 온다.

join은 여러개의 테이블을 하나로 합쳐 큰 테이블을 만든다.

'SK 네트웍스 AI 캠프' 카테고리의 다른 글
| SK 네트웍스 AI 캠프 - 1_프로그래밍 데이터 기초 - Day12_Web Crawling_웹크롤러 만들기 (0) | 2026.05.16 |
|---|---|
| SK 네트웍스 AI 캠프 - 1_프로그래밍 데이터 기초 - Day11_웹크롤링 이해와 실습 (0) | 2026.05.14 |
| SK 네트웍스 AI 캠프 - 1_프로그래밍 데이터 기초 - Day9_SQL 기본 (0) | 2026.05.12 |
| SK 네트웍스 AI 캠프 - 1_프로그래밍 데이터 기초 - Day8_MySQL 서버 구축 및 운영 관리 (0) | 2026.05.11 |
| [SK네트웍스 Family AI 캠프] 32기 2주차 회고: Day4 ~ Day7 (0) | 2026.05.11 |