select  * from w_zipcode
문1)동이름 '당산'으로 시작하는 레코드 출력하시오
select *
from w_zipcode
where dong like '당산%' -- left(dong,2)='당산'

문2)동이름 '사서함'으로 끝나는 레코드 출력하시오
select *
from w_zipcode
where dong like '%사서함' --right(dong,3)='사서함'

문3)우편번호가 '100'으로 시작하고,
      동이름에 '중앙'이 들어가는 레코드 출력하시오
select *
from w_zipcode
where zipcode like '100%'
and dong like '%중앙%'

문4)리에 데이터가 있는 레코드를 출력하시오
select *
from w_zipcode
where ri is not null

문5)번지에 데이터가 입력되지 않은 레코드를 출력하시오
select *
from w_zipcode
where bunji is null

문6)서울시의 레코드를 출력하시오.
select *
from w_zipcode
where sido='서울'

문7)서울시중에서 영등포구,강남구,마포구만 출력하시오
select *
from w_zipcode
where gugun in ('영등포구','강남구','마포구')
--gugun='영등포구' or gugun='강남구' or gugun='마포구'

문8)서울시의 각각의 구 중에서 동갯수가 많은 상위 5개의
      구이름,동갯수를 출력하시오
select AA.gugun,count(*)
from(
  select gugun,dong,count(dong) as [동갯수]
  from w_zipcode
  where sido='서울'
  group by gugun,dong
)
as AA
group by AA.gugun
======================
select top 5 AA.gugun,count(*)
from (
   select gugun,dong,count(dong) as [동갯수]
   from w_zipcode
   where sido='서울'
   group by gugun,dong
  )
as AA
group by AA.gugun
order by count(*) desc

테이블은 물리적테이블과 논리적테이블 나눈다.


문9)각 시도별 시or군중에서 동or읍 갯수가 50이상인 레코드의 도이름,
      시이름, 동갯수를 출력하시오
select AA.sido,AA.gugun,count(AA.gugun)
from (
   select sido,gugun,dong
   from w_zipcode
   group by sido,gugun,dong
       ) as AA --논리적테이블
group by AA.sido,AA.gugun
having count(AA.gugun)>=50
order by count(AA.gugun) desc


문10)전국의 시도별 각각의 시or군or면 이 몇개씩 존재하는지
      오름차순으로 출력하시오.
select AA.sido,count(AA.sido)
from (
   select sido,gugun
   from w_zipcode
   group by sido,gugun
       ) as AA --논리적테이블
group by AA.sido
order by count(AA.sido)

'..열심히 공부하세.. > MS-SQL' 카테고리의 다른 글

뷰 VIEW  (0) 2009.11.27
[MS-SQL] 최종 실습 예제  (0) 2009.11.27
18_회원  (0) 2008.06.18
17_공지사항  (0) 2008.06.18
16_방명록  (0) 2008.06.18

+ Recent posts