Database
-
테이블 피봇팅: 테이블의 구조를 바꾸는 것 SELECT CASE WHEN categoryID = 1 THEN price ELSE NULL END AS category1_price, * FROM Products; categoryID=1의 Price 평균을 구하고 싶다면? SELECT AVG(CASE WHEN categoryID = 1 THEN price ELSE NULL END) AS category1_price, * FROM Products; 테이블 피봇팅 SELECT AVG(CASE WHEN categoryID = 1 THEN price ELSE NULL END) AS category1_price, AVG(CASE WHEN categoryID = 2 THEN price ELSE NULL END) AS ..
MySQL_조건문 CASE를 활용한 테이블 피봇테이블 피봇팅: 테이블의 구조를 바꾸는 것 SELECT CASE WHEN categoryID = 1 THEN price ELSE NULL END AS category1_price, * FROM Products; categoryID=1의 Price 평균을 구하고 싶다면? SELECT AVG(CASE WHEN categoryID = 1 THEN price ELSE NULL END) AS category1_price, * FROM Products; 테이블 피봇팅 SELECT AVG(CASE WHEN categoryID = 1 THEN price ELSE NULL END) AS category1_price, AVG(CASE WHEN categoryID = 2 THEN price ELSE NULL END) AS ..
2022.02.27 -
CASE로 시작하고 END로 끝나야 한다. 그리고 그 사이에는 WHEN 조건 THEN 결과 가 들어가야 한다. SELECT CASE WHEN categoryid = 1 THEN '음료' WHEN categoryid = 2 THEN '조미료' ELSE '기타' END AS 'categoryName' , * FROM Products; 조건문으로 만든 새 칼럼으로 GROUP BY를 하고 싶다면? SELECT CASE WHEN categoryid = 1 THEN '음료' WHEN categoryid = 2 THEN '소스' ELSE '이외' END AS newCategory , AVG(Price) FROM Products GROUP BY newCategory; HackerRank : Type of Triangl..
MySQL_조건문 CASECASE로 시작하고 END로 끝나야 한다. 그리고 그 사이에는 WHEN 조건 THEN 결과 가 들어가야 한다. SELECT CASE WHEN categoryid = 1 THEN '음료' WHEN categoryid = 2 THEN '조미료' ELSE '기타' END AS 'categoryName' , * FROM Products; 조건문으로 만든 새 칼럼으로 GROUP BY를 하고 싶다면? SELECT CASE WHEN categoryid = 1 THEN '음료' WHEN categoryid = 2 THEN '소스' ELSE '이외' END AS newCategory , AVG(Price) FROM Products GROUP BY newCategory; HackerRank : Type of Triangl..
2022.02.26 -
GROUP BY SupplierID 별로 Price의 평균을 보고 싶을 경우에는? SELECT SupplierID , AVG(Price) FROM Products GROUP BY SupplierID GROUP BY에 사용된 컬럼은 SELECT에 꼭 들어가야하고 그룹 별 보고싶은 집계함수도 SELECT에 들어가야한다. GROUP BY 여러 개의 칼럼 : 여러 가지 기준으로 그룹을 만들고 싶을 때 SELECT SupplierID , Categoryid , AVG(Price) FROM Products GROUP BY SupplierID, Categoryid HAVING GROUP BY 결과물들 중에서 AVG(Price) >= 100 이상인 것을 찾고 싶다면? WHERE AVG(Price) >= 100 으로 하..
MySQL_GROUP BY & HAVINGGROUP BY SupplierID 별로 Price의 평균을 보고 싶을 경우에는? SELECT SupplierID , AVG(Price) FROM Products GROUP BY SupplierID GROUP BY에 사용된 컬럼은 SELECT에 꼭 들어가야하고 그룹 별 보고싶은 집계함수도 SELECT에 들어가야한다. GROUP BY 여러 개의 칼럼 : 여러 가지 기준으로 그룹을 만들고 싶을 때 SELECT SupplierID , Categoryid , AVG(Price) FROM Products GROUP BY SupplierID, Categoryid HAVING GROUP BY 결과물들 중에서 AVG(Price) >= 100 이상인 것을 찾고 싶다면? WHERE AVG(Price) >= 100 으로 하..
2022.02.25 -
COUNT SELECT COUNT(*) FROM Products; COUNT(*) ➔ 선택한 컬럼의 데이터 행 개수를 세준다. ▶ 그러나 특정 컬럼의 데이터 행 개수를 셀 때 NULL값이 있다면? ProductID ProductNAme Price 1 apple 14 2 book 24 3 NULL 15 SELECT COUNT(ProductName) FROM Products; ➔ NULL값을 제외한 데이터 개수인 2가 출력된다. ▶ 중복된 값을 제외한 데이터 개수를 확인하고 싶을 때는? SELECT COUNT(DISTINCT SupplierId) FROM Products; SUM 특정 칼럼의 합계를 알고 싶을 때 SELECT SUM(Price) FROM Products; AVG 특정 칼럼의 평균을 알고 싶을..
MySQL_데이터 요약 통계(집계함수)COUNT SELECT COUNT(*) FROM Products; COUNT(*) ➔ 선택한 컬럼의 데이터 행 개수를 세준다. ▶ 그러나 특정 컬럼의 데이터 행 개수를 셀 때 NULL값이 있다면? ProductID ProductNAme Price 1 apple 14 2 book 24 3 NULL 15 SELECT COUNT(ProductName) FROM Products; ➔ NULL값을 제외한 데이터 개수인 2가 출력된다. ▶ 중복된 값을 제외한 데이터 개수를 확인하고 싶을 때는? SELECT COUNT(DISTINCT SupplierId) FROM Products; SUM 특정 칼럼의 합계를 알고 싶을 때 SELECT SUM(Price) FROM Products; AVG 특정 칼럼의 평균을 알고 싶을..
2022.02.24 -
ORDER BY 데이터베이스에 저장된 데이터의 순서를 변경하는 것이 아니라 SELECT 문을 수행해서 데이터를 보여줄 때 변경해주는 것이다. SELECT * FROM Customers ORDER BY customerid DESC; 오름차순으로 하고 싶을 때는 ASC을 사용하거나 아무것도 안 쓰면 된다. (default값이기 때문) ORDER BY를 이용해 최댓값/최솟값 데이터 불러오기 최댓값을 보고 싶을 때는 DESC(내림차순)정렬을 한 뒤 LIMIT을 사용해서 1개만 불러온다. SELECT * FROM Products ORDER BY price DESC LIMIT 1; 최솟값을 보고 싶을 때는 ASC(오름차순)정렬을 한 뒤 LIMIT 1으로 1개만 불러온다. SELECT * FROM Products O..
MySQL_데이터 정렬하기ORDER BY 데이터베이스에 저장된 데이터의 순서를 변경하는 것이 아니라 SELECT 문을 수행해서 데이터를 보여줄 때 변경해주는 것이다. SELECT * FROM Customers ORDER BY customerid DESC; 오름차순으로 하고 싶을 때는 ASC을 사용하거나 아무것도 안 쓰면 된다. (default값이기 때문) ORDER BY를 이용해 최댓값/최솟값 데이터 불러오기 최댓값을 보고 싶을 때는 DESC(내림차순)정렬을 한 뒤 LIMIT을 사용해서 1개만 불러온다. SELECT * FROM Products ORDER BY price DESC LIMIT 1; 최솟값을 보고 싶을 때는 ASC(오름차순)정렬을 한 뒤 LIMIT 1으로 1개만 불러온다. SELECT * FROM Products O..
2022.02.22 -
https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all SELECT : Data Query Language INSERT/UPDATE/DELETE : Data Manipulation Language SELECT / FROM / LIMIT SELECT * FROM Customers LIMIT 5; SELECT * ➔ 모든 컬럼 FROM Customers ➔ Customers 테이블에서 LIMIT 5 ➔ 5개만 보여달라 비교연산자 WHERE AND SELECT * FROM Customers WHERE CustomerName < 'B' AND Country="Germany"; CustomerName이 'B' 보다 작고 ➔ A로 시작하는 이름 AN..
MySQL_조건에 맞는 데이터 검색https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all SELECT : Data Query Language INSERT/UPDATE/DELETE : Data Manipulation Language SELECT / FROM / LIMIT SELECT * FROM Customers LIMIT 5; SELECT * ➔ 모든 컬럼 FROM Customers ➔ Customers 테이블에서 LIMIT 5 ➔ 5개만 보여달라 비교연산자 WHERE AND SELECT * FROM Customers WHERE CustomerName < 'B' AND Country="Germany"; CustomerName이 'B' 보다 작고 ➔ A로 시작하는 이름 AN..
2022.02.21