SQL : 10. CONCAT, ALIAS, DISTINCT, LIMIT

yeppi1802·2024년 6월 8일
0

❇️ 요약

  • CONCAT
  • ALIAS
  • DISTINCT
  • LIMIT

📖 CONCAT

🔆 CONCAT

  • 여러 문자열을 하나로 합치거나 연결
SELECT CONCAT('string1', 'string2', ..);

🔆 CONCAT 예제

mysql> SELECT CONCAT('이름: ', NAME) FROM celeb;
+--------------------------+
| CONCAT('이름: ', NAME)   |
+--------------------------+
| 이름: 아이유             |
| 이름: 이미주             |
| 이름: 송강               |
| 이름: 강동원             |
| 이름: 유재석             |
| 이름: 차승원             |
| 이름: 이수현             |
+--------------------------+
7 rows in set (0.00 sec)

📖 ALIAS

🔆 ALIAS

  • 칼럼이나 테이블 이름에 별칭 생성

🔆 ALIAS 문법 - COLUMN

SELECT column as alias
FROM tablename;

🔆 ALIAS 문법 - TABLE

SELECT column1, column2, ...
FROM tablename as alias;

🔆 AS는 생략도 가능

SELECT column1 'c1', column2 'c2', ...
FROM tablename T;

🔆 ALIAS 예제

  • snl_show에 출연한 celeb을 기준으로 두 테이블을 조인하여 다음과 같이 각 데이터의 별칭을 사용하여 검색
    • 시즌, 에피소드, 방송일을 합쳐서 ‘방송정보’
    • 이름, 직업을 합쳐서 ‘출연자정보’
mysql> SELECT CONCAT(s.season, ' - ', s.episode, ' : ', s.broadcast_date) as '방송정보'
    ->        , CONCAT(c.name, ' : ', c.job_title) as '출연자정보'
    -> FROM celeb as c, snl_show as 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)

📖 DISTINCT

🔆 DISTINCT

  • 검색한 결과의 중복 제거
  • DISTINCT 뒤에 오는 컬럼 또는 컬럼의 집합 중복 제거
SELECT DISTINCT column1, column2, ...
FROM tablename;

🔆 DISTINCT 예제

  • 연예인 소속사 종류를 검색 - 중복 포함
mysql> SELECT AGENCY FROM celeb;
+--------------------------+
| AGENCY                   |
+--------------------------+
| EDAM엔터테이먼트         |
| 울림엔터테이먼트         |
| 나무엑터스               |
| YG엔터테이먼트           |
| 안테나                   |
| YG엔터테이먼트           |
| YG엔터테이먼트           |
+--------------------------+
7 rows in set (0.00 sec)
  • 연예인 소속사 종류를 검색 - 중복 제외 (DISTINCT)
mysql> SELECT DISTINCT AGENCY FROM celeb;
+--------------------------+
| AGENCY                   |
+--------------------------+
| EDAM엔터테이먼트         |
| 울림엔터테이먼트         |
| 나무엑터스               |
| YG엔터테이먼트           |
| 안테나                   |
+--------------------------+
5 rows in set (0.00 sec)

📖 LIMIT

🔆 LIMIT

  • 검색결과를 정렬된 순으로 주어진 숫자만큼만 조회
SELECT column1, column2, ...
FROM tablename
WHERE condition
LIMIT number;

🔆 LIMIT 예제

  • 나이가 가장 적은 연예인 4명을 검색
mysql> SELECT * FROM celeb
    -> ORDER BY AGE
    -> LIMIT 4;
+----+-----------+------------+------+------+------------------+--------------------------+
| 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 rows in set (0.00 sec)
profile
제로베이스 DA7 김예빈입니다.

0개의 댓글