[제로베이스 데이터 취업스쿨] 23.07.19 스터디 노트

김준호·2023년 7월 23일
0
post-thumbnail

1. CONCAT

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

문법

예제

  • select concat ('concat',' ', 'test');
  • select concat('이름: ', name) from celeb;

2. ALIAS

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

문법

  • as는 생략 가능

컬럼명 별칭 생상

테이블명 별칭 생성

예제

  • select name as '이름' from celeb;
  • select name as '이름', agency as '소속사' from celeb;
  • name과 job_title을 합쳐서 profile 이라는 별칭을 만들어 검색
select concat(name, ' : ' , job_title) as profile from celeb;

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

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

문제1.

select concat('이름 :' ,name, ', ' , '소속사 :' , agency) as '연예인 정보'
from celeb
where name like '___';

문제2.

select c.agency as '소속사 정보',
concat('나이 :',c.age,'(',c.sex,')') as '신상정보',
concat(s.season,'-',s.episode,', ','방송날짜 :',s.broadcast_date) as '출연정보'
from celeb as c, snl_show as s
where c.agency like "__%엔터테이먼트" and c.name=s.host
order by s.broadcast_date ASC;

3. DISTINCT

  • 검색한 결과의 중복 제거

문법

예제

  • 연예인 소속사 종류 중복제거
    select distinct agency from celeb;
  • 가수 중에서, 성별과 직업별 종류를 검색 - 중복제거
    select distinct sex,job_title from celeb where job_title like '%가수%';

문제1. celeb테이블에서 성별과 소속사 별 종류를 검색하여 성별, 소속사 순으로 정렬하세요

select distinct sex,agency
from celeb
order by sex, agency;

4. LIMIT

  • 검색결과를 정렬된 순으로 주어진 숫자만큼만 조회
  • 검색결과가 100개라도 최상위 3개만 가져오고 싶을 때

문법

예제

  • celeb데이터 3개만 가져오기
    select * from celeb limit 3;
  • 나이가 가장 적은 연예인 4명 검색
    select * from celeb order by age limit 4;

문제1. celeb테이블에서 남자연예인 중 나이가 가장 많은 2명 조회

select * from celeb
where sex="M"
order by age desc
limit 2;

문제2.

select concat('SNL 시즌 ',s.season,' 에피소드 ',s.episode,' 호스트 ',c.name) as 'SNL 방송정보', c.age
from celeb as c, snl_show as s
where c.name = s.host
order by s.broadcast_date
limit 2;

profile
취업공부

0개의 댓글