SQL 기초13~14 - 03 - ALIAS_(Chapter 10. CONCAT, ALIAS, IDSTINCT, LIMIT)

HA_·2023년 11월 29일
0

Chapter 10-3. ALIAS

1. ALIAS

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

2. ALIAS 문법 1 - Column

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

SELECT column as alias
FROM tablename;

3. ALIAS 문법 1 - Table

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

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

4. ALIAS 예제 - 1

name 을 이름으로 별칭을 만들어서 검색

SELECT name as '이름' FROM celeb;

5. ALIAS 예제 - 2

name 은 이름으로, agency 는 소속사로 별칭을 만들어서 검색

SELECT name as '이름', agency as '소속사' FROM celeb;

6. ALIAS 예제 - 3

name 과 job_title 을 합쳐서 profile 이라는 별칭을 만들어서 검색

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

7. 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;

8. 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;

9. ALIAS 예제 - 5

AS는 생략도 가능

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;

혼자서 해봅시다.

문제 1. 이름이 3글자인 연예인 정보를 검색하여 다음과 같이 출력하세요.


내가 쓴 답)

SELECT CONCAT('이름 :', name, ', 소속사 :', agency) AS '연예인 정보'
FROM celeb
WHERE NAME LIKE '___'; 


정답!

문제 2. 앞글자가 2글자이고, ‘엔터테이먼트’ 로 끝나는 소속사 연예인 중 SNL 에 출연한 연예인의 신상정보(나이, 성별)와 출연정보(시즌-에피소드, 방송날짜), 소속사 정보를 방송날짜 최신순으로 정렬하여 다음과 같이 검색하세요.


내가 쓴 답)

SELECT agency AS '소속사 정보', CONCAT('나이 :', age, '(', sex, ')') AS '신상정보', CONCAT(season, '-', episode, '방송날짜 :', broadcast_date) AS '출연정보'
FROM celeb, snl_show
WHERE celeb.name = snl_show.host AND agency LIKE '__엔터테이먼트'; 


오답!

  • 에피소드 뒤에 콤마(,) 안적음!
  • 방송날짜를 최신순으로 정렬하지 않음!

풀이)

    1. 앞글자가 2글자이고, ‘엔터테이먼트’ 로 끝나는 소속사 연예인 중 SNL 에 출연한 연예인의 신상정보(나이, 성별)와 출연정보(시즌-에피소드, 방송날짜), 소속사 정보를 방송날짜 최신순으로 정렬하여 다음과 같이 검색하세요.
SELECT AGENCY, NAME
FROM CELEB
WHERE AGENCY LIKE '__엔터테이먼트';

    1. 앞글자가 2글자이고, ‘엔터테이먼트’ 로 끝나는 소속사 연예인 중 SNL 에 출연한 연예인의 신상정보(나이, 성별)와 출연정보(시즌-에피소드, 방송날짜), 소속사 정보를 방송날짜 최신순으로 정렬하여 다음과 같이 검색하세요.
SELECT AGENCY, NAME
FROM CELEB, SNL_SHOW
WHERE CELEB.NAME = SNL_SHOW.HOST;

    1. 1번 + 2번
      앞글자가 2글자이고, ‘엔터테이먼트’ 로 끝나는 소속사 연예인 중 SNL 에 출연한 연예인의 신상정보(나이, 성별)와 출연정보(시즌-에피소드, 방송날짜), 소속사 정보를 방송날짜 최신순으로 정렬하여 다음과 같이 검색하세요.
SELECT AGENCY, NAME
FROM CELEB, SNL_SHOW
WHERE NAME = HOST AND AGENCY LIKE '__엔터테이먼트';

    1. 앞글자가 2글자이고, ‘엔터테이먼트’ 로 끝나는 소속사 연예인 중 SNL 에 출연한 연예인의 신상정보(나이, 성별)와 출연정보(시즌-에피소드, 방송날짜), 소속사 정보를 방송날짜 최신순으로 정렬하여 다음과 같이 검색하세요.
SELECT AGENCY '소속사 정보', CONCAT('나이:', AGE, '(', SEX, ')') '신상정보'
FROM CELEB, SNL_SHOW
WHERE NAME = HOST AND AGENCY LIKE '__엔터테이먼트';

    1. 앞글자가 2글자이고, ‘엔터테이먼트’ 로 끝나는 소속사 연예인 중 SNL 에 출연한 연예인의 신상정보(나이, 성별)와 출연정보(시즌-에피소드, 방송날짜), 소속사 정보를 방송날짜 최신순으로 정렬하여 다음과 같이 검색하세요.
SELECT AGENCY '소속사 정보', CONCAT('나이:', AGE, '(', SEX, ')') '신상정보',
CONCAT(SEASON, '-', EPISODE, ', 방송날짜:', BROADCAST_DATE) '출연정보'
FROM CELEB, SNL_SHOW
WHERE NAME = HOST AND AGENCY LIKE '__엔터테이먼트';

    1. 결론
      앞글자가 2글자이고, ‘엔터테이먼트’ 로 끝나는 소속사 연예인 중 SNL 에 출연한 연예인의 신상정보(나이, 성별)와 출연정보(시즌-에피소드, 방송날짜), 소속사 정보를 방송날짜 최신순으로 정렬하여 다음과 같이 검색하세요.
SELECT C.AGENCY '소속사 정보', CONCAT('나이:', C.AGE, '(', C.SEX, ')') '신상정보',
CONCAT(S.SEASON, '-', S.EPISODE, ', 방송날짜:', S.BROADCAST_DATE) '출연정보'
FROM CELEB C, SNL_SHOW S
WHERE C.NAME = S.HOST AND C.AGENCY LIKE '__엔터테이먼트'
ORDER BY S.BROADCAST_DATE DESC;

  • 에피소드 뒤에 콤마(,) 안적음!
  • 방송날짜를 최신순으로 정렬하지 않음!

0개의 댓글