MySQL에서 원하는 정보 가지고 오는법
실습 환경
아래 사이트에서 기본으로 제공하는 데이터들을 기반으로 진행합니다.
MySQL Tryit Editor v1.0
WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, and Opera. If you use another browser you will still be able to use our Try SQL Editor, but a different version, usin
www.w3schools.com
가지고 있는 데이터 테이블의 이름과 데이터들의 수는 아래 표와 같습니다.
Customers | 91 |
Categories | 8 |
Employees | 9 |
OrderDetails | 2155 |
Orders | 830 |
Products | 77 |
Shippers | 3 |
Suppliers | 29 |
1. 테이블의 모든 내용 보기
Customesrs테이블에서 모든 정보를 가지고 오는 구문
SELECT => 데이터를 가지고 올 수 있는 명령어
* => 전체 컬럼을 가지고 옴
FROM ~ => ~테이블에서 해당 내용을 찾음 : FROM Customers를 사용했으므로 Customers 테이블에서 해당 내용을 찾음
SELECT * FROM Customers;
-- MySQL에서의 주석은 이렇게 달 수 있습니다
결과
2. 원하는 column(열)만 골라서 보기
Customers 테이블에서 CustomerName만 찾는 구문
SELECT => 데이터를 가지고 올 수 있는 명령어
CustomerName => CustomerName 컬럼을 가지고 옴
FROM ~ => ~테이블에서 해당 내용을 찾음 : FROM Customers를 사용했으므로 Customers 테이블에서 해당 내용을 찾음
SELECT CustomerName FROM Customers;
결과
Customers 테이블에서 CustomerName, ContactName, Country를 찾는 구문
SELECT CustomerName, ContactName, Country
FROM Customers;
결과
+) 테이블의 컬럼이 아닌 값을 가지고오는 구문
SELECT
CustomerName, 1, 'Hello', NULL
FROM Customers;
결과
3. 원하는 조건의 row(행)만 걸러서 보기
Orders 테이블에서 EnployeeID가 3인 사람만 골라서 보는 구문
WHERE 다음에 조건을 붙혀주면 원하는 값을 가지고 올 수 있습니다.
SELECT * FROM Orders
WHERE EmployeeID = 3;
결과
Orders 테이블에서 EnployeeID가 3인 사람만 골라서 보는 구문
다만, 여기서 검색하고자 하는 조건이 문자열일 경우는 '(따옴표) 안에 원하는 조건을 넣어주어야합니다.
SELECT * FROM Orders
WHERE OrderDate = '1996-07-04'
결과
4. 원하는 순서로 데이터 가져오기
ORDER BY 구문을 사용해서 특정 컬럼을 기준으로 데이터를 정렬할 수 있습니다.
오름차순시에는 ASC, 내림차순시에는 DESC를 사용하면 됩니다. 딱히 지정해주지 않을때는 ASC(오름차순)으로 기본정렬됩니다.
Customer테이블에서 ContactName을 기준으로 모든 데이터를 정렬한 구문
SELECT * FROM Customers
ORDER BY ContactName;
결과
OrderDetails테이블에서 ProductID를 오름차순, Quantity를 내림차순으로 정렬한 구문
SELECT * FROM OrderDetails
ORDER BY ProductID ASC, Quantity DESC;
결과
5. 원하는 만큼만 데이터 가져오기
LIMIT {가져올 갯수} 또는 LIMIT {건너뛸 갯수}, {가져올 갯수} 를 사용하여, 원하는 위치에서 원하는 만큼만 데이터를 가져올 수 있습니다.
Customers 테이블에서 (앞에서부터)10개만 가지고 오는 구문
SELECT * FROM Customers
LIMIT 10;
결과(1~10까지 출력)
Customers 테이블에서 (앞에서부터)30개 건너 뛰고 10개만 가지고 오는 구문
SELECT * FROM Customers
LIMIT 30, 10;
결과(31부터 40까지 출력)
6. 원하는 별명(alias)으로 데이터 가져오기
AS를 사용해서 컬럼명을 변경할 수 있습니다.
Customers테이블에서 CustomerId를 ID, CustomerName을 NAME, Address를 ADDR로 이름 바꾸어 출력하기
SELECT
CustomerId AS ID,
CustomerName AS NAME,
Address AS ADDR
FROM Customers;
결과
게시글이 도움이 되었다면
[로그인]이 필요 없는 ❤ 눌러주세요:)
'SQL' 카테고리의 다른 글
[MyBatis/SQL]MyBatis 동적쿼리 if문 | MyBatis 동적쿼리 이용하기 | MyBatis SQL (0) | 2023.01.26 |
---|---|
[MySQL] CASE 구문 익히기 | CASE WHEN ~ 예제 (1) | 2022.12.24 |
[MySQL] 컬럼의 이름과 데이터타입 및 속성 동시에 수정하기 (0) | 2022.11.15 |
[SQL] 2개의 테이블 JOIN 여러번 하기 | 테이블 조인 (0) | 2022.11.10 |
[MySQL/SQL] 외래키 삭제하기 / Foreign key 삭제 (0) | 2022.10.19 |