SQL문 사용할 사이트 : MySQL Tryit Editor v1.0 (w3schools.com)
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
1. 테이블 보기 및 선택(select문)
1) select * from [TABLE] : from절의 [TABLE]의 모든 colums 선택
SELECT * FROM OrderDetails;
★ SQL에서 *은 모든 것을 뜻한다. 즉, 위 구문은 "OrderDetails"라는 테이블에 있는 모든 컬럼들을 선택한다라는 것.


★ 일부 컬럼만 가져오고 싶을 때
SELECT OrderDetailID, OrderID FROM OrderDetails;


2) WHERE절 : WHERE절에 조건을 적어 "filter"를 하여 선택
SELECT * FROM OrderDetails WHERE productID = 11;


★ 주의할 점은 where절은 엑셀의 "자동필터" 같이 숨겨져 있다는 개념보다, 엑셀의 "고급 필터"를 통해 생성된 별개의 테이블이라 이해하는 것이 좋다. 또한 "고급필터"처럼 엑셀의 내장함수를 활용해 수식을 만들어 이용하듯, WHERE절도 SQL의 내장함수를 이용하여 조건을 만드는 것이 가능하다. 아래에서 추가 예시를 들겠다.
★ 수식을 활용한 예시
SELECT * FROM OrderDetails WHERE ProductID < 11 AND OrderID < 10500;


3) ORDER BY절 : 데이터 정렬
★ 어떠한 절보다 마지막으로 실행되어야 하는 절(적혀야 하는 절)
- 이게 갑자기 무슨소리냐? 복잡해진다. 생각하기 이전에 본인이 엑셀을 다룰때 순서를 생각하면 좋다. 피벗 테이블(Group by + 집계함수)을 하든 새로운 변수를 만들던 말던 일반적으로 모든 데이터 취합한 뒤, 마지막으로 정렬을 한다. 고로 ORDER BY절은 그 어떤 절보다 마지막에 실행된다.
SELECT * FROM OrderDetails
WHERE ProductID < 11 AND OrderID < 10500
ORDER BY ProductID ASC, OrderDetailID DESC; # ASC는 오름차순(생략가능), DESC는 내림차순
※ 이쯤되면 구문이 복잡해 보이겠지만 엑셀로 보시면 별거 없는 행위이다.(물론 SQL쪽은 수식 함께 써서 더욱 고차원의 정렬 행위도 가능하나, 결국 엑셀처럼 가상의 한 열에 수식을 짜서 그 값을 토대로 정렬하는 것처럼 원리는 동일하다)


'SQL' 카테고리의 다른 글
SQL의 기초 - 엑셀로 이해하기(집계함수, Groupby) (2) | 2023.11.22 |
---|