[SQL] CONCAT, ALIAS, DISTINCT, LIMIT

허재훈·2023년 4월 27일
0

SQL

목록 보기
9/17
post-thumbnail

1. 실습환경 만들기

실습할 데이터베이스로 이동

  • zerobase 사용 (이동)
USE zerobase;

실습할 데이터 확인 - 1

SELECT * FROM celeb;

실습할 데이터 확인 - 2

2. CONCAT

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

CONCAT 문법

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

CONCAT 예제

  • CONCAT 예제 - 1
SELECT CONCAT ('concat', ' ', 'test')

  • CONCAT 예제 - 2
SELECT CONCAT ('이름:', name) FROM celeb;

3. ALIAS (별칭)

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

ALIAS 문법 - Column ALIAS

SELECT column as alias
FROM tablename;

ALIAS 문법 - Table ALIAS

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

ALIAS 예제

  • ALIAS 예제 - 1

    • name 을 이름으로 별칭을 만들어서 검색
SELECT name as '이름'
FROM celeb;

  • ALIAS 예제 - 2

    • name 은 이름으로, agency 는 소속사로 별칭을 만들어서 검색
SELECT name as '이름', agency as '소속사'
FROM celeb;

  • ALIAS 예제 - 3

    • name 과 job_title 을 합쳐서 profile 이라는 별칭을 만들어서 검색
SELECT CONCAT(name, ' : ', job_title) as profile FROM celeb;

  • ALIAS 예제 - 4

    • snl_korea 에 출연한 celeb 을 기준으로 두 테이블을 조인하여,
      celeb 테이블은 c, snl_show 테이블은 s 라는 별칭을 만들어서 출연한 시즌과 에피소드, 이름, 직업을 검색
SELECT s.season, s.episode, c.name, c.job_title
FROM celeb AS c, snl_show AS s
WHERE c.name = s.host;

  • ALIAS 예제 - 5

    • snl_korea 에 출연한 celeb 을 기준으로 두 테이블을 조인하여 다음과 같이 각 데이터의 별칭을 사용하여 검색
      • 시즌, 에피소드, 방송일을 합쳐서 ‘방송정보’
      • 이름, 직업을 합쳐서 ‘출연자정보’
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;

AS는 생략도 가능

SELECT CONCAT(s.season, '-', s.episode, '(', s.broadcast_date, ')') AS '방송정보',
       CONCAT(c.name, '(', c.job_title, ')') AS '출연자정보'
FROM celeb c, snl_show s
WHERE c.name = s.host;

4. DISTINCT (중복제거)

  • 검색한 결과의 중복 제거

DISTINCT 문법

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

DISTINCT 예제

  • DISTINCT 예제 - 1
    • 연예인 소속사 종류를 검색 - 중복 포함
SELECT agency
FROM celeb;

  • DISTINCT 예제 - 1
    • 연예인 소속사 종류를 검색 - 중복 제외 (DISTINCT)
SELECT DISTINCT agency
FROM celeb;

  • DISTINCT 예제 - 2
    • 가수 중에서, 성별과 직업별 종류를 검색 - 중복 포함
SELECT sex, job_title
FROM celeb
WHERE job_title LIKE '%가수%';

  • DISTINCT 예제 - 2
    • 가수 중에서, 성별과 직업별 종류를 검색 - 중복 제외 (DISTINCT)
SELECT DISTINCT sex, job_title
FROM celeb
WHERE job_title LIKE '%가수%';

5. LIMIT

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

LIMIT 문법

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

LIMIT 예제

  • LIMIT 예제 - 1
    • celeb 데이터 3개만 가져오기
SELECT *
FROM celeb
LIMIT 3;

  • LIMIT 예제 - 2

    • 나이가 가장 적은 연예인 4명을 검색
  • LIMIT 예제 - 2 - 1

    • 나이가 가장 적은
SELECT *
FROM celeb
ORDER BY age;

  • LIMIT 예제 - 2 - 2

    • 나이가 가장 적은 연예인 4명
SELECT *
FROM celeb
ORDER BY age
LIMIT 4;


위 글은 제로베이스 데이터 취업 스쿨의 강의자료를 참고하여 작성되었습니다.

profile
허재

0개의 댓글