

0. 순서 : 순서는 꼭! 지켜야 합니다.

1. Select : 원하는 데이터를 선택하자!
- 기능:테이블(Table)에서 특정 열(Column)의 데이터를 선택합니다. 모든 열을 가져오려면 별모양*(apostrophe)을 입력하면 됩니다.
SELECT CustomerName, City FROM Customers;

2. From : 어디서 찾을까?
- 기능:데이터를 가져올 테이블을 지정합니다.
SELECT name FROM students;
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
3. Where : 조건에 맞는 데이터만!
- 기능:데이터 검색 조건을 설정합니다.(쉽게 엑셀, 구글시트 등의필터(Filter)기능이라고 생각해 주세요)
SELECT * FROM Customers
WHERE Country='Mexico';

4. GroupBy: 데이터를 그룹화해서 분석하기
- 기능:특정 열을 기준으로 데이터를 그룹화하는 것입니다. Group by는집계함수 (aggregate functions)-COUNT(),MAX(),MIN(),SUM(),AVG()등과 함께 자주 사용됩니다.
*(간단히 말해, 엑셀의 PivotTable을 통해 그룹별로 데이터를 정리하는 것이라고 생각하면 됩니다. 예를 들어, RAW데이터를 → 주간 | 매출(합계)로 변환)*
SQL
SELECT Country,COUNT(CustomerID)
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
5. Having: 그룹화된 데이터 분석
- 기능:GroupBy와 함께 사용하여 그룹화된 데이터에 대한 조건을 설정합니다.
The HAVING clause was added to SQL because the WHERE keyword cannot be used with aggregate functions.💡WHERE VS HAVING의 차이 : Where 이 집계함수와 함께 할 수 없기 때문에 집계(Group by) → 이후에 조건을 붙이려면HAVING을 사용해야 한다.

SQL
SELECT Country, COUNT (CustomerID)
FROM Customers
GROUP BY Country
HAVING COUNT (CustomerID) > 10
ORDER BY COUNT (CustomerID) desc;
6. OrderBy: 결과 정렬하기
- 기능:데이터를 특정 열 기준으로 정렬합니다.(실무에서는 가능하면 늘 정렬을 해서 주는 게 보기에 좋다!)
SQL
SELECT * FROM Customers
ORDER BY Country DESC, CustomerID ASC;