[SQL] CONCAT, ALIAS, DISTINCT, LIMIT

쩡이·2023년 8월 24일
0

SQL

목록 보기
5/10

CONCAT

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

ALIAS

컬럼이나 테이블 이름에 별칭 생성, as는 생략 가능

1) 컬럼명에 별칭생성
SELECT column as alias
from tablename


2) 테이블 이름에 별칭 생성
SELECT column1, column2,...
FROM tablename as alias;


문제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 name=host and agency like '__%엔터테이먼트'
order by broadcast_date DESC;

DISTINCT

검색한 결과의 중복 제거
SELECT DISTINCT column1, column2,...
FROM tablename as alias;


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

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


LIMIT

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


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

select * from celeb where sex='M' order by age DESC limit 2;


문제2
SNL에 출연한 연예인의 정보를 최신 방송날짜 순으로 2개만 검색하여 다음과 같이 출력

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

0개의 댓글