MySQL/Learn MySQL

2. 기본 SELECT 문 및 WHERE절 (BETWEEN AND, IN,LIKE, ORDER BY, LIMIT, DISTINCT)

jinsang-2 2023. 8. 17. 14:35

market_db.sql
0.00MB

# 해당 테이블은 위에 market_db.sql 에서 OPEN 하면 됨.

 

# 사용된 member 테이블 ( SELECT * FROM member; )

 

 

# 기본 WHERE 절

USE market_db; -- market db 스키마를 사용하겠다.
SELECT * FROM member WHERE mem_name = '블랙핑크'; -- member의 모든 내용(*)에서 mem_name이 블랙핑크인 것을 보여줘
SELECT * FROM market_db.member WHERE mem_name = '블랙핑크'; -- market_db.member => 스키마 지정 후 불러 오기

 

 

# Column(열) 이름 별명 부여

addr, height, debut_date -> 주소, 키, 데뷔일자로 별칭 부여

SELECT addr, height, debut_date FROM member;
SELECT addr '주소', height '키', debut_date '데뷔일자' FROM member; -- 별명 부여 가능

 

 

#  WHERE AND 와 BETWEEN AND

-- 키가 165 이상이고 mem_number가 6 초과인 멤버의 mem_id와 mem_name을 보여줘라
SELECT mem_id, mem_name FROM member WHERE height >= 165 AND mem_number>6 ; 

-- 키가 163~165 사이인 mem_name, height
SELECT mem_name, height FROM member WHERE height BETWEEN 163 AND 165;

BETWEEN 163 AND 165

 

# WHERE OR 과 IN

-- 주소가 경기,전남,경남인 멤버 밑에 둘이 같은 내용
SELECT mem_name, addr FROM member WHERE addr = '경기' OR addr='전남' OR addr='경남';
SELECT mem_name, addr FROM member WHERE addr IN('경기','전남','경남');

 

 

# WHERE LIKE 절

 -- 우로 시작하는 mem_name (여러글자 가능)
SELECT * FROM member WHERE mem_name LIKE '우%';

-- _ 언더바 하나당 한 글자 (XX핑크 검색)
SELECT * FROM member WHERE mem_name LIKE '__핑크';

 

 

# ORDER BY 절

- ASC : 오름차순 (기본 설정)

- DESC : 내림차순

오름차순(데뷔일자 기준)

-- ORDER BY (오름차순)
SELECT mem_id, mem_name, debut_date FROM member ORDER BY debut_date;

-- ORDER BY DESC(내림차순)
SELECT mem_id, mem_name, debut_date FROM member ORDER BY debut_date DESC;

- 동일 값 다른 차순 정렬

 

-- height는 내림차순으로 정렬하고 그 후 같은 결과가 있을 시 데뷔일자는 오름차순으로 정렬한다. 
SELECT mem_id, mem_name, debut_date, height FROM member WHERE height >= 164 ORDER BY height DESC, debut_date ASC;

 

 

# LIMIT

LIMIT 3 : 3개까지만
LIMIT 3,2 : 3번째부터 2개만

-- LIMIT 3 : 3개 까지만 (head(3)이랑 같은 의미)
SELECT * FROM member LIMIT 3; 

-- LIMIT 3,2 -> 3번째부터 2개 보여달라는 뜻 (순서는 0번째부터 시작)
SELECT mem_name, height FROM member ORDER BY height DESC LIMIT 3,2;

 

 

# DISTINCT

중복제거

SELECT DISTINCT addr FROM member;