[SQL] 10-Concat

김지현·2024년 6월 9일

SQL

목록 보기
9/16

📂 CONCAT

📍 여러 문자열을 하나로 합치거나 연결

SELECT CONCAT ('string1', 'string2', ...);

(예제1)

SELECT CONCAT('concat', ' ', 'test');  -- 출력 결과 : concat test

(예제2)

SELECT CONCAT('이름 : ', name) FROM celeb;

+-------------------------+
| concat('이름 : ', name) |
+-------------------------+
| 이름 : 아이유           |
| 이름 : 이미주           |
| 이름 : 송강             |
| 이름 : 강동원           |
| 이름 : 유재석           |
| 이름 : 차승원           |
| 이름 : 이수현           |
+-------------------------+

📂 ALIAS

📍 컬럼이나 테이블 이름에 별칭 생성 (컬럼이나 테이블명이 긴 경우 짧은 별칭 생성하여 대신 사용)

  • 컬럼
SELECT column as alias -- as는 alias 약자(생략 가능)
FROM tablename;

(예제)

SELECT concat(name, ' : ' , job_title) as profile FROM celeb;

[별칭 지정] 						| 	[별칭 미지정]
+---------------------------+	|	+---------------------------------+
| profile                   |	|	| concat(name, ' : ' , job_title) |
+---------------------------+	|	+---------------------------------+
| 아이유 : 가수, 탤런트     |	|	| 아이유 : 가수, 탤런트           |
| 이미주 : 가수             |	|	| 이미주 : 가수                   |
| 송강 : 탤런트             |	|	| 송강 : 탤런트                   |
| 강동원 : 영화배우, 탤런트 |	|	| 강동원 : 영화배우, 탤런트       |
| 유재석 : MC, 개그맨       |	|	| 유재석 : MC, 개그맨             |
| 차승원 : 영화배우, 모델   |	|	| 차승원 : 영화배우, 모델         |
| 이수현 : 가수             |	|	| 이수현 : 가수                   |
+---------------------------+	|	+---------------------------------+

  • 테이블
SELECT column1, column2, ...
FROM tablename as alias;

(예제)

SELECT s.season, s.episode, c.name, c.job_title
FROM celeb AS c, snl_show AS s
WHERE c.name = s.host;

📂 DISTINCT

📍 검색 결과 중복 제거

SELECT DISTINCT column1, column2, ...
FROM tablename;

(예제)

(1) 중복 제거 미적용
SELECT agency FROM celeb;
+------------------+
| agency           |
+------------------+
| EDAM엔터테인먼트 |
| 울림엔터테인먼트 |
| 나무엑터스       |
| YG엔터테인먼트   |
| 안테나           |
| YG엔터테인먼트   |
| YG엔터테인먼트   |
+------------------+

(2) 중복 제거 적용
SELECT DISTINCT agency FROM celeb;
+------------------+
| agency           |
+------------------+
| EDAM엔터테인먼트 |
| 울림엔터테인먼트 |
| 나무엑터스       |
| YG엔터테인먼트   |
| 안테나           |
+------------------+

📂 LIMIT

📍 검색 결과를 정렬된 순으로 주어진 숫자만큼만 조회

SELECT column1, column2, ...
FROM tablename
WHERE condition
LIMIT number;

(예제) 나이가 가장 적은 연예인 4명 검색

SELECT name, age FROM celeb ORDER BY age LIMIT 4;

+--------+------+
| name   | age  |
+--------+------+
| 이수현 |   23 |
| 이미주 |   28 |
| 송강   |   28 |
| 아이유 |   29 |
+--------+------+

0개의 댓글