Загружаем каталог…
Загружаем каталог…
5장 집계와 서브쿼리 집계함수 사용법 집계함수의 종류 COUNT SUM AVG MIN MAX COUNT로 행 개수 구하기 COUNT(집합) SELECT COUNT * FROM sample51; 집계함수와 NULL값 집계합수를 SELECT 구에 쓰면 WHERE 구의 유무와 관계없이 결괏값으로 하나의 행을 반환한다. SELECT COUNT (no), COUNT(name) FROM sample51; 집계함수는 집합 안에 null 있을 경우 무시한다. DISTINCT로 중복 제거 SELECT DISTINCT name FROM sample51; SUM으로 합계 구하기 SELECT SUM(quantity) FROM sample51; 이때 SUM 집계함수에 지정되는 집합은 수치형 뿐임. (문자열, 날짜시간형은 X) NULL값 무시 (NULL 제거 후 합계를 냄) AVG로 평균내기 SELECT AVG(quantity), SUM(quantity)/COUNT(quantity) FROM sample51; NULL값 무시함. NULL도 포함하고 싶다면 CASE 사용해 NULL 0으로 변환한 후 AVG 함수로 계산 MIN, MAX로 최솟값, 최댓값 구하기 문자열형, 날짜시간형에도 사용 가능 NULL값 무시 SELECT MIN(quantity), MAX(quantity), MIN(name), MAX(name) FROM sample51; 그룹화-GROUP BY SELECT name FROM sampIe51 GROUP BY name; SELECT name, COUNT(name), SUM(quantity) FROM sample51 GROUP BY name; HAVING 구로 조건 지정 집계함수는 WHERE 구의 조건식에서 사용 불가하다. (내부 처리 순서가 WHERE 구 —> GROUP BY 구 -> HAVING 구 -> SELECT 구 -> ORDER BY 구 이기 때문) ) GROUP BY에서 지정한 열 이외의 열은 집계함수를 사용하지 않은 채 SELECT 구에 지정할 수 없다. 결괏값 정렬 ORDER BY 구 * SELECT name, COUNT(name), SUM(qauantity) FRON sample51 6ROUP BY name ORDER BY SUM(quantity) DESC; GROUP BY 구로 그룹화한 경우에도 ORDER BY 구를 사용해 정련할 수 있다. 결괏값을 순서대로 정렬해야 한다면 ORDER BY 구를 지정하면 된다. SELECT name, COUNT(name), SUM(quantity) FROM sample 51 GROUP BY name ORDER BY SUM(quantity) DESC; 서브쿼리 SELECT 명령에 의한 데이터 질의 상부가 아닌 하부의 부수적인 질의 DELETE의 WHERE 구에서 서브쿼리 사용하기 최솟값 행 삭제하기 괄호로 서브퀴리 지정해 삭제 DELETE FROM sample54 WHERE a = (SELECT MIN(a) FRON sample54); SELECT * FROM sample54; -> 서브쿼리 사용해 DELETE와 SELECT 결합 가능 스칼라 값 서브쿼리 사용 시 그 SELECT 명령이 어떤 값을 반환하는지 주의할 필요가 있다. 아래 4 가지가 일반적인 서브쿼리 패턴이다. 하나의 값을 반환하는 패턴 SELECT MIN(a) FROM sample54; 복수의 행이 반환되지만 열은 하나인 패턴 SELECT no FROM sample54; 하나의 행이 반환되지만 열이 복수인 패턴 SELECTS MIN(a), max(no) FROM sample54; 복수의 행, 복수의 열이 반환되는 패턴 SELECT no, a FROM sample54; 이때 1번만 다름 (하나의 값만 반환함). '단일 값' = '스칼라 값'으로 불림! 연산자 사용해 비교할 경우 스칼라 값끼리 비교할 필요가 있다. SELECT, SET, FROM 구에서 서브쿼리 사용하기 스칼라 서브쿼리가 필요함 SELECT (SELECT COUNT( ) FROM sample51) AS sq1; (SELECT COUNT( ) FROM sample51) AS sq2; UPDATE sample54 SET a=(SELECT MAX(a) FROM sample54); SELECT * FROM (SELECT * FROM sample54) sq; INSERT 명령과 서브쿼리 INSERT 명령과 서브귀리를 조합하여 시용할 수도 있다. INSERT 명령에는 VALUES 구의 일부로 서브쿼리를 사용하는 경우와, VALUES 구 대신 SELECT 명령을 사용하는 두 가지 방법이 있다. 상관 서브쿼리 서브쿼리외 부모쿼리가 서로 연관된 경우 서브쿼리는 상관 서브쿼리가 된다. 상관 서브쿼리를 사용함으로씨 두 테이블에 걸쳐 조직할 수 있다.
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
SQL 첫걸음 5장. 5장 집계와 서브쿼리 집계함수 사용법 집계함수의 종류 COUNT SUM AVG MIN MAX COUNT로 행 개수 구하기 COUNT(집합) SELECT COUNT * FROM sample51; 집계함수와 NULL값 집계합수를 SELECT 구에 쓰면 WHERE 구의 유무와 관계없이 결괏값으로 하나의 행을 반환한다. SELECT COUNT (no), COUNT(name) FROM sample51; 집계함수는 집합 안에 null 있을 경우 무시한다. DISTINCT로 중복 제거 SELECT DISTINCT name FROM sample51; SUM으로 합계 구하기 SELECT SUM(quantity) FROM sample51; 이때 SUM 집계함수에 지정되는 집합은 수치형 뿐임. (문자열,…
Открыть источник