본문 바로가기

전체 글51

CASE문 CASE SELECT CASE WHEN categoryid = 1 THEN '음료' WHEN categoryid = 2 THEN '조미료' ELSE '기타' END AS 'categoryName', * FROM Products SELECT CASE WHEN categoryid = 1 AND SupplierID = 1 THEN '음료' WHEN categoryid = 2 THEN '조미료' ELSE '기타' END AS 'categoryName', * FROM Products ▲위의 casea문 응용버전 CategoryID별로 평균가격을 조회 SELECT CategoryID, , AVG(Price) FROM Products GROUP BY CategoryID 새로 정의한 CategoryName별로 GROU.. 2021. 5. 9.
GROUP BY, HAVING절 현업에서는 테이블 전체를 더하는 경우는 없고 특정 카테고리별로 더한다. 전체 데이터를 그루핑하는 방법을 배워보자. 예를 들어, 공급자별 평균가격을 구해보자. SELECT SupplierID, AVG(Price) FROM Products GROUP BY SupplierID //그룹핑하는 기준 컬럼 여기서 카테고리별로도 보고싶다면 SELECT SupplierID, Categoryid, AVG(Price) FROM Products GROUP BY SupplierID, Categoryid //그룹핑하는 기준 컬럼 따라서 여러가지 기준으로 그루핑하고싶다면 ,(콤마)찍고 이어주면됨. MySQL에서는 GROUP BY 1, 2로도 쓸수 있다. SELECT에 있는 첫번째, 2번째 칼럼기준으로 그룹바이해라는 뜻 하지만 명.. 2021. 4. 28.
집계함수 특정 컬럼에 null값이 들어갔을때 null을 제외하고 count DISTINCT : 중복된 값을 제외 COUNT(DISTINCT) : null 제외한 중복된 값을 제외한 수 sum :합계 avg: 평균 *null을 처리하는 방식에 따라 평균구하는 방식 달라짐 주의 null을 null로 처리할 경우 avg(visits) from sample;로 계산함 null을 0으로 처리할 경우 sum(visits)/count(*)로 계산해야함 2021. 4. 28.
3-11 조인 조인이란 하나의 쿼리로 다수의 테이블을 조회할 수 있음. 열 값으로 테이블 행을 연결함. 하나의 행은 하나 이상의 행과 연결될 수 있다. 부모테이블과 자식테이블은 기본키와 외래키로 조인하는 것이 일반적이나, 관계가 없는 테이블을 조인하는 경우도 多 기본원리 일반적으로 조건절에는 열과 값을 평가하는반면, 조인 조건은 열과 열을 평가한다. 카티션곱 조인 조건이 없는 조건이다. 등가조인 조인 조건이 모두 등호(=)인 조인이다. 값이 동일한 경우에만 행이 반환된다. SELECT a.c1 AS a, b.c1 AS b FROM t1 a, t2 b WHERE b.c1 = a.c1 //조인조건 ORDER BY 1, 2; A B --- 1 1 2 2 2행이 선택되었습니다. 1 2 3 1 2 조인되는 테이블의 개수가 N이.. 2021. 4. 28.