having절 | Having 절 + 조건 => group by가 있을 때, 그룹들 중 선택할 때 사용. 집계함수 많이 씀 - having 절에 집계함수 들어가는 일이 많다 - group by가 있을 때, 그룹들 중 선택할 때 having 절을 사용 - where 절은 그룹 형성 전에 실행되고, having 절은 그룹 구성 후에 적용됨 - having 절은 select 전에 실행되어서, select에서 고르지 않은 컬럼을 조건으로 써도 됨 Q) find the names and average salaries of all departments whose average salary is greater than 42000 => select dept_name, avg(salary) as avg_salary from instructor where TRUE // 여기서 42000 비교하는 거 아님!! 그룹단위라 having에서 함 group by dept_name having avg(salary) > 42000; // 여기서 조건 만족하는 그룹 선택함 |
중첩 질의문 | 중첩 질의문 Nested Subqueries = 다른 쿼리 내에 중첩되는 select-from-where 문 select -> 포함시킬 컬럼들 열거시 일부 컬럼을 컬럼명 대신 SFW 서브쿼리로 대체(단일값 내는 서브쿼리) from -> 테이블 열거… 그 테이블 중 하나가 SFW의 서브쿼리(결과는 relation)로 대체되는 경우 where -> 조건을 주는데 그 조건 자체가 그 속에 SFW를 포함하는… 컬럼 <몇가지 연산> (SFW 서브쿼리) 바깥쪽 SFW = outer query 안쪽 SFW = sub query, inner query |
select * from R where A = 5 and B < 100 |
select * from R where A in ( select A from S where B = 20 ) |
|
select * from R where P |
select * from R where P |
Outer 질의 쪽의 투플의 컬럼값이 투입되어 실행된다면 co-related
select * from R where A in ( select A from S where B = 20 ) |
select * from R where A in ( select A from S where B = R.B ) |
'데이터베이스설계' 카테고리의 다른 글
[데이터베이스설계] 3-9 exist (0) | 2025.02.15 |
---|---|
[데이터베이스설계] 3-8 set 멤버십 ( in / not in ) (0) | 2024.11.27 |
[데이터베이스설계] 3-6 집계함수, group by (0) | 2024.11.25 |
[데이터베이스설계] 3-5 set 연산, null값 (1) | 2024.11.24 |
[데이터베이스설계] 3-4 튜플 정렬, where절 술부 (0) | 2024.11.23 |