[참고]
여기서 다루는 테이블의 기준은 아래의 홈페이지 기준입니다. 수많은 테이블을 직접 만들지 않고 여기서 데이터 다루시면서 공부하면 좋을 것 같습니다.
https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_all
SELECT 사용하기
- SELECT 문을 사용하여 테이블의 레코드를 선택할 수 있다.
SELECT * FROM 테이블이름;
-- 주석은 이렇게 달 수 있습니다.
select * from Customers;
-- 대소문자 상관이 없습니다.
여기서 * (asterisk) 는 테이블의 모든 컬럼을 뜻하며 원하는 컬럼만 보고 싶다면 테이블의 이름을 원하는 만큼 선택하여 ' , ' 사용해서 확인할 수 있습니다.
SELECT Productname, Unit, Price
FROM Products;
-- 엔터나 스페이스바나 구별하는데 상관없다.
WHERE 사용하기
- 조건을 추가해보자.
그런데 만약 내가 가격이 20이상인 상품들만 보고 싶다고 하면 WHERE 을 사용하여 이 구문 뒤에 조건을 붙여 원하는 결과를 불러올 수 있습니다. OR , AND , >= , <= , = 연산자 활용도 가능합니다.
SELECT Productname, Unit, Price
FROM Products
WHERE Price > 20;
ORDER BY
- 특정 컬럼을 기준으로 데이터를 정렬한다.
ASC(Ascending_ 오름차순) 구문과 DESC(Descending) 구문이 있는데 default 값은 ASC로 ORDER BY 구문 뒤에 아무것도 붙이지 않으면 자동으로 오름차순이 된다.
SELECT ProductID, Productname, Unit, Price
FROM Products
WHERE Price > 20
ORDER BY Price , ProductId desc;
-- 또는 ORDER BY Price 를 쓰면 Asc 가 기본적용이 되어 내림차순이 된다.
-- 가격이 같으면 Id는 내림차순으로 한다.
출력 결과는 37개라고 나온다.
LIMIT
- 원하는 만큼만 데이터 가져오기, 페이징 기능이다.
LIMIT {가져올 개수} 또는 LIMIT {건너뛸 개수}, {가져올 개수}를 사용하여 원하는 위치에서 원하는 개수만큼 데이터를 가져온다.
SELECT ProductID as '상품번호', Productname, Unit, Price as '가격'
FROM Products
WHERE Price > 20
ORDER BY Price , ProductId desc
Limit 3, 10;
3번을 건너뛰고 4번째부터 10개가 나온 결과이다
추가로 SELECT 구문 컬럼뒤에 as를 붙이면 컬럼명을 내가 직접 지정한 이름으로 변경할 수 있습니다.
LIKE
특정 문자 포함되어있는지 검색!
1. LIKE '...%...' : 0 ~ N 개 문자를 가진 패턴을 찾는다.
2. LIKE '..._...' : _ 갯수만큼의 문자를 가진 패턴을 찾는다.
SELECT ProductID as '상품번호', Productname, Unit, Price as '가격'
FROM Products
WHERE Price > 10 and Productname like 'C%' -- 가격 10 이상 이면서 C로 시작하는 상품이름 찾는다
ORDER BY Price , ProductId desc
Limit 3, 100;
만약 특정 단어로 끝나는 문자열을 찾고자 하면 '%특정단어' 라고 쓰면 됩니다.
'MySQL' 카테고리의 다른 글
MySQL - View (0) | 2022.03.21 |
---|---|
MySQL - 기본키(Primary Key) , 외래키 (Foreign Key) (0) | 2022.03.21 |
MySQL - 집계함수와 그룹화 (0) | 2022.03.02 |