Hey Tech
[SQLite] 서로 다른 칼럼의 데이터 병합하기! 본문
안녕하세요, 오늘은 서로 다른 칼럼의 데이터를 병합하는 방법에 대해 공유해 드립니다.
이번 포스팅에서도 SQLite 및 연습용 데이터셋(MLB 선수 정보)을 기반으로 설명해 드립니다.
SQLite 및 연습용 데이터셋 설치가 필요하신 분은 아래 포스팅을 참고해 주세요.
heytech.tistory.com/11?category=453619
바로 시작하죠!
데이터 병합이 필요한 경우
SELECT
*
FROM
Salaries
LIMIT
10;
이전 포스팅에서 MLB 선수별 연봉정보를 출력해 보았었습니다.
헌데 아래 스크린샷 결과와 같이 playerID에는 정확한 선수들의 full name이 기록되어 있지 않습니다.
ID만 봐서는 정확히 어떤 선수인지 가늠하기 힘들죠.
SELECT
*
FROM
People
LIMIT
10;
데이터셋 내 People 이라는 테이블에 선수들의 first name(nameFirst 칼럼)과 last name(nameLast 칼럼)에 대한 정보가 담겨 있습니다.
하지만 성과 이름이 각기 다른 칼럼에 기록되어 있어 full name으로 표기하기 위해서는
두 칼럼의 데이터를 병합 할 필요가 있습니다. 이럴 때 사용하는 것이 '|' 기호입니다.
'||' 기호를 활용한 칼럼 병합
SELECT
nameFirst || ' ' || nameLast AS FullName
FROM
People
LIMIT 20;
위의 코드와 같이
1) 병합할 칼럼(nameFirst, nameLast)을 각각 입력합니다.
2) 입력한 칼럼 이름 사이에 || (Shift + 역슬래시)를 2번 입력합니다.
3) 두 기호(||) 사이에 병합한 후 각 데이터 사이에 들어갈 값을 입력해 줍니다.
저는 한 칸 띄어쓰기를 목적으로 1칸 띄어쓰기를 넣었습니다.
출력 예시
이제 위와 같이 FullName 이라는 새로운 칼럼에 first name과 last name이 병합된 것을 확인하실 수 있습니다.
응용: 특정 playerID의 Full Name 찾아내기
SELECT
nameFirst || ' ' || nameLast AS FullName
FROM
People
WHERE
playerID = 'rodrial01';
playID가 rodria01인 선수의 full name 을 찾아보는 구문은 위와 같이 WHERE 구문을 쓰면 간단하게 해결되겠죠?
(Optional) MySQL에서 칼럼 병합하기
SELECT
CONCAT(nameFirst, nameLast)
FROM People
LIMIT 10;
참고로 MySQL에서는 CONCAT 구문을 통해 두 칼럼을 병합할 수 있습니다.
포스팅에 오류가 있을 경우 댓글 남겨주시면 감사드리겠습니다.
그럼 오늘도 즐거운 하루 보내시길 바랍니다.
고맙습니다 :)
'AI & 빅데이터 > SQLite' 카테고리의 다른 글
[SQLite] GROUP BY: 데이터를 그룹화하기! (Feat. HAVING) (0) | 2021.02.11 |
---|---|
[SQLite] DINTINCT: 중복을 제외한 데이터 찾기! (0) | 2021.02.10 |
[SQLite] LIKE: 특정 위치에 문자열을 포함한 데이터만 출력하기! (0) | 2021.02.07 |
[SQLite] BETWEEN: 특정 범위에 해당하는 데이터만 출력하기! (0) | 2021.02.06 |
[SQLite] WHERE IN: 여러 조건식을 만족하는 값만 출력하기! (0) | 2021.02.05 |