이 글은 혼자 공부하는 SQL(저자 : 우재남)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다.
member 테이블
buy 테이블
USE문
USE market_db;
market_db 데이터 베이스를 사용(선택)하겠다는 뜻
기본적인 SELECT ~ FROM ~ WHERE문
SELECT * FROM member WHERE mem_name = '블랙핑크';
mem_name이 블랙핑크인 결과만 추출
SELECT * FROM member WHERE mem_number = 4;
mem_number가 4인 결과만 추출
관계 연산자, 논리 연산자의 사용
관계 연산자
SELECT mem_id, mem_name FROM member WHERE height <= 162;
키가 162 이하인 mem_id와 mem_name을 추출
논리 연산자
SELECT mem_name, height, mem_number FROM member WHERE height >= 165 AND mem_number > 6;
SELECT mem_name, height, mem_number FROM member WHERE height >= 165 OR mem_number > 6;
BETWEEN ~ AND
SELECT mem_name, height FROM member WHERE height >= 163 AND height <= 165;
위 코드와 아래의 코드는 같은 뜻이다.
SELECT mem_name, height FROM member WHERE height BETWEEN 163 AND 165;
163과 165사이의 height과 mem_name 데이터를 추출하라는 뜻이다.
IN()
SELECT mem_name, addr FROM member WHERE addr = '경기' OR addr = '전남' OR addr = '경남';
위 코드는 아래 코드와 같다.
SELECT mem_name, addr FROM member WHERE addr IN('경기', '전남', '경남');
조건식에서 여러 문자 중 하나에 포함되는지 비교할 때는 IN()이 간결하다.
LIKE(문자열의 일부 글자 검색)
문자열의 일부 글자를 검색하려면 LIKE를 사용한다.
SELECT * FROM member WHERE mem_name LIKE '우%';
mem_name이 '우'로 시작되긴 하는데 정확히 기억 안 난다면 위와 같이 작성하면 된다.
언더바(_)
SELECT * FROM member WHERE mem_name LIKE '__핑크';
위처럼 언더바를 두 개 사용하면 앞 두 글자는 상관하지 않고 검색하게 된다.
서브 쿼리
SELECT 안에 또 다른 SELECT가 들어갈 수 있다. 이것을 서브 쿼리 또는 하위 쿼리라고 부른다.
mem_name이 에이핑크인 회원의 평균 height보다 큰 데이터를 검색하고 싶다고 가정하면
SELECT * FROM member WHERE height > (SELECT height FROM member WHERE mem_name = '에이핑크');
위와 같이 에이핑크의 평균 height인 164보다 높은 데이터를 추출할 수 있다.
'데이터베이스 > MySQL' 카테고리의 다른 글
[MySQL] 데이터 변경을 위한 SQL문(INSERT, UPDATE, DELETE) (1) | 2023.10.03 |
---|---|
[MySQL] SELECT 문 (0) | 2023.03.10 |
[MySQL] 테이블 만들기, 행(데이터) 삽입하기 (0) | 2023.03.06 |
[MySQL] 테이블 보기, 기본적인 추출 (0) | 2023.03.06 |
[MySQL] DBMS와 SQL (0) | 2023.03.05 |