CS/database
[데이터베이스] select, where, order by & top
꽁이꽁설꽁돌
2025. 5. 13. 23:28
728x90
반응형
select *
from INFORMATION_SCHEMA.TABLES
select distinct building
from classroom
- classroom 테이블에서 중복 없이(building 값이 같은 것은 하나만)
- building 열만 고유하게(distinct) 추출합니다.
select CONCAT(building, '_', 'Room', '_', room_number) as classroom_name, capacity
from classroom
- classroom 테이블에서
- 각 행의 building과 'Room' 문자열, room_number를 문자열로 이어 붙여서
→ 하나의 새로운 열 classroom_name으로 만들고 - 그와 함께 capacity(수용 인원)도 같이 조회합니다.
select dept_name, budget
from department
where budget between 70000 and 80000
select course_id, title
from course
where dept_name = 'Comp.Sci.'
select building, room_number, capacity
from classroom
where (building='Arts' and capacity > 30)
or (building='NewHall')
select top 2 building, room_number, capacity
from classroom
order by building asc, capacity desc
case when capacity is null then 1 else 0 end
--select top 2: 결과 중 상위 2개 행만 가져온다.
--from classroom: classroom 테이블에서.
--order by:
--building 오름차순 (A~Z 순),
--capacity가 NULL이면 뒤로 정렬
--그 후 capacity를 내림차순 정렬.
building room_number capacity
Arts A201 60 ← 1등
Arts A101 45 ← 2등
Arts A103 NULL ← 무시됨
select top 2 course_id, title, credits
from course
where dept_name = 'Comp. Sci.' and credits>=3
order by title asc
select building, room_number, capacity
from classroom
order by capacity asc
offset 2 rows fetch next 2 rows only
--select building, room_number, capacity: classroom 테이블에서 건물, 호실 번호, 수용 인원을 선택합니다.
--order by capacity asc: 수용 인원(capacity)을 오름차순으로 정렬합니다 (작은 수부터).
--offset 2 rows: 처음 2개 행을 건너뜁니다.
--fetch next 2 rows only: 그 다음 2개 행만 가져옵니다.
반응형