1. CONCAT은 여러 문자열을 합치거나 연결하는 함수이다.
SELECT CONCAT('string1', 'string2', ...)
# 예시
mysql> select concat('concat', ' ', 'test');
+-------------------------------+
| concat('concat', ' ', 'test') |
+-------------------------------+
| concat test |
+-------------------------------+
1 row in set (0.00 sec)
# 예시2
mysql> select concat('이름: ', name) FROM celeb;
+------------------------+
| concat('이름: ', name) |
+------------------------+
| 이름: 아이유 |
| 이름: 이미주 |
| 이름: 송강 |
| 이름: 강동원 |
| 이름: 유재석 |
| 이름: 차승원 |
| 이름: 이수현 |
+------------------------+
7 rows in set (0.03 sec)
2. alias는 테이블에 별칭을 생성하는 기능이다.
SELECT column as alias
FROM tablename;
SELECT column1, column2, ...
FROM tablename as alias;
# 예시
mysql> SELECT name as '이름' FROM celeb;
+--------+
| 이름 |
+--------+
| 아이유 |
| 이미주 |
| 송강 |
| 강동원 |
| 유재석 |
| 차승원 |
| 이수현 |
+--------+
7 rows in set (0.00 sec)
mysql> SELECT name as '이름', agency as '소속사' FROM celeb;
+--------+------------------+
| 이름 | 소속사 |
+--------+------------------+
| 아이유 | EDAM엔터테인먼트 |
| 이미주 | 울림엔터테인먼트 |
| 송강 | 나무액터스 |
| 강동원 | YG엔터테인먼트 |
| 유재석 | 안테나 |
| 차승원 | YG엔터테인먼트 |
| 이수현 | YG엔터테인먼트 |
+--------+------------------+
7 rows in set (0.00 sec)
mysql> SELECT CONCAT(name, ' : ', job_title) as profile FROM celeb;
+---------------------------+
| profile |
+---------------------------+
| 아이유 : 가수, 탤런트 |
| 이미주 : 가수 |
| 송강 : 탤런트 |
| 강동원 : 영화배우, 탤런트 |
| 유재석 : MC, 개그맨 |
| 차승원 : 영화배우, 모델 |
| 이수현 : 가수 |
+---------------------------+
7 rows in set (0.00 sec)
mysql> SELECT s.season, s.episode, c.name, c.job_title
-> FROM celeb AS c, snl_show AS s
-> WHERE c.name = s.host;
+--------+---------+--------+------------------+
| season | episode | name | job_title |
+--------+---------+--------+------------------+
| 8 | 7 | 강동원 | 영화배우, 탤런트 |
| 8 | 8 | 유재석 | MC, 개그맨 |
| 8 | 9 | 차승원 | 영화배우, 모델 |
| 8 | 10 | 이수현 | 가수 |
+--------+---------+--------+------------------+
4 rows in set (0.02 sec)
3. alias를 지정하는데 사용하는 AS는 생략도 가능하다.
mysql> SELECT CONCAT(s.season, '-', s.episode, '(', s.broadcast_date, ')') '방송정보',
-> CONCAT(c.name, '(', c.job_title, ')') '출연정보'
-> FROM celeb c, snl_show s
-> WHERE c.name = s.host;
+------------------+--------------------------+
| 방송정보 | 출연정보 |
+------------------+--------------------------+
| 8-7(2020-09-05) | 강동원(영화배우, 탤런트) |
| 8-8(2020-09-12) | 유재석(MC, 개그맨) |
| 8-9(2020-09-19) | 차승원(영화배우, 모델) |
| 8-10(2020-09-26) | 이수현(가수) |
+------------------+--------------------------+
4 rows in set (0.00 sec)
4. DISTINCT는 검색한 결과의 중복을 제거한다.
SELECT DISTINCT column1, column2, ...
FROM tablename;
# 예시
mysql> SELECT agency FROM celeb;
+------------------+
| agency |
+------------------+
| EDAM엔터테인먼트 |
| 울림엔터테인먼트 |
| 나무액터스 |
| YG엔터테인먼트 |
| 안테나 |
| YG엔터테인먼트 |
| YG엔터테인먼트 |
+------------------+
7 rows in set (0.00 sec)
mysql> SELECT DISTINCT agency FROM celeb;
+------------------+
| agency |
+------------------+
| EDAM엔터테인먼트 |
| 울림엔터테인먼트 |
| 나무액터스 |
| YG엔터테인먼트 |
| 안테나 |
+------------------+
5 rows in set (0.00 sec)
mysql> SELECT sex, job_title FROM celeb WHERE job_title LIKE '%가수%';
+------+--------------+
| sex | job_title |
+------+--------------+
| F | 가수, 탤런트 |
| F | 가수 |
| F | 가수 |
+------+--------------+
3 rows in set (0.00 sec)
mysql> SELECT DISTINCT sex, job_title FROM celeb WHERE job_title LIKE '%가수%';
+------+--------------+
| sex | job_title |
+------+--------------+
| F | 가수, 탤런트 |
| F | 가수 |
+------+--------------+
2 rows in set (0.00 sec)
5. LIMIT은 검색결과를 정렬된 순으로 주어진 숫자만큼만 조회한다.
# 최상위로부터 number개만큼의 데이터만 조회
SELECT column1, column2, ...
FROM tablename
WHERE condition
LIMIT number;
# 예시
mysql> SELECT * FROM celeb ORDER BY age LIMIT 5;
+----+--------+------------+------+------+------------------+------------------+
| ID | NAME | BIRTHDAY | AGE | SEX | JOB_TITLE | AGENCY |
+----+--------+------------+------+------+------------------+------------------+
| 7 | 이수현 | 1999-05-04 | 23 | F | 가수 | YG엔터테인먼트 |
| 2 | 이미주 | 1994-09-23 | 28 | F | 가수 | 울림엔터테인먼트 |
| 3 | 송강 | 1994-04-23 | 28 | M | 탤런트 | 나무액터스 |
| 1 | 아이유 | 1993-05-16 | 29 | F | 가수, 탤런트 | EDAM엔터테인먼트 |
| 4 | 강동원 | 1981-01-18 | 41 | M | 영화배우, 탤런트 | YG엔터테인먼트 |
+----+--------+------------+------+------+------------------+------------------+
5 rows in set (0.00 sec)
'SQL' 카테고리의 다른 글
| 비교연산자, 논리연산자, UNION, JOIN (1) | 2024.07.19 |
|---|---|
| Table 변경 구문, INSERT, SELECT, WHERE, UPDATE, DELETE, ORDER BY (0) | 2024.07.19 |
| 01. Database 관리, USER 관리 (0) | 2024.05.31 |