목차
반응형
SQLD 공부 및 데이터 분석을 하기 위해 DB에 있는 값들을 불러올 때, SQL을 많이 활용했습니다.
이전에 독학하면서 공부했던 내용을 기록으로 남겨둡니다.
예시) user 테이블
id | name | ssn | 비고 | |
1 | Alice | alice@example.com | 123-45-6789 | |
2 | Bob | bob@example.com | 234-56-7890 | |
3 | Charlie | charlie@example.com | 345-67-8901 |
1. UPPER - 문자열 대문자로 변환
SELECT id, UPPER(name) AS upper_name
FROM users;
id | upper_name |
1 | ALICE |
2 | BOB |
3 | CHARLIE |
2. LOWER - 문자열 소문자로 변환
SELECT id, LOWER(name) AS lower_name
FROM users;
id | lower_name |
1 | alice |
2 | bob |
3 | charlie |
3. LENGTH - 문자열 길이 계산
SELECT id, LENGTH(name) AS name_length
FROM users;
id | name_length |
1 | 5 |
2 | 3 |
3 | 7 |
4. CONCAT - 문자열 연결
SELECT id, CONCAT(name, '(', email, ')') AS name_and_email
FROM users;
id | name_and_email |
1 | Alice(alice@example.com) |
2 | Bob(bob@example.com) |
3 | Charlie(charlie@example.com) |
5. SUBSTRING - 문자열 일부 추출
5-1. ssn에서 첫 3글자 가져오기
SELECT id, SUBSTRING(ssn, 1, 3) AS first_3_digits
FROM users;
id | first_3_digits |
1 | 123 |
2 | 234 |
3 | 345 |
5-2. 이메일 주소에서 사용자 이름 부분만 추출하기
SELECT id, SUBSTRING(email FROM 1 FOR POSITION('@' IN email) - 1) AS username
FROM users;
id | username |
1 | alice |
2 | bob |
3 | charlie |
5-3. 주민번호에서 생년월일 부분만 추출하기(우리나라 기준으로 예시를 들기 위해 다른 테이블을 사용해보겠습니다.)
예시) user1 테이블
id | name | ssn | |
1 | Alice | alice@example.com | 900101-1234 |
2 | Bob | bob@example.com | 880301-5678 |
3 | Charlie | charlie@example.com | 950715-9012 |
SELECT id, SUBSTRING(ssn FROM 1 FOR 6) AS birth_date
FROM users1;
id | birth_date |
1 | 900101 |
2 | 880301 |
3 | 950715 |
6. REPLACE - 문자열 내 특정 문자열 대체
SELECT id, REPLACE(email, 'example.com', 'test.com') AS new_email
FROM users;
id | new_email |
1 | alice@test.com |
2 | bob@test.com |
3 | charlie@test.com |
7. TRIM - 문자열 앞뒤 공백 제거
예시) books 테이블
id | book_title | author | price |
1 | The Catcher in the Rye | J.D. Salinger | 15.99 |
2 | To Kill a Mockingbird | Harper Lee | 12.99 |
3 | Moby-Dick | Herman Melville | 19.99 |
SELECT id, TRIM(book_title) AS trimmed_title
FROM books;
id | trimmed_title |
1 | TheCatcherintheRye |
2 | ToKillaMockingbird |
3 | Moby-Dick |
8. POSITION - 문자열 내 특정 문자열 위치 찾기
SELECT id, POSITION('@' IN email) AS at_position
FROM users;
id | at_position |
1 | 6 |
2 | 4 |
3 | 9 |
9. CHAR_LENGTH - 문자열 길이 계산
SELECT id, CHAR_LENGTH(name) AS name_char_length
FROM users;
id | name_char_length |
1 | 5 |
2 | 3 |
3 | 7 |
반응형
'SQL > SQL 스터디' 카테고리의 다른 글
SQL 독학: 10가지 주요 숫자 처리 함수 (0) | 2023.04.24 |
---|---|
SQL 독학: 10가지 주요 날짜 및 시간 함수 (0) | 2023.04.23 |
SQL 독학: 집계 함수 활용하기(데이터 요약 및 분석의 기본) (0) | 2023.04.22 |
SQL 독학: 정렬 및 그룹화 (order by, group by) (0) | 2023.04.22 |
SQL 독학: 조건문과 필터링 (1) | 2023.04.22 |
댓글