안규 공부방

MS-SQL > SubQuery - Where 절 사용 예제

등록일 : 2017-07-03 19:10 조회수 : 92,736

안녕하세요!
그동안 건강하셨지여?

술에 취한 고양이가 지나가던 호랑이에게 싸움을 걸다가 가까스로 목숨만 건졌습니다.
중환자실에 입원치료 중인 고양이는 '그렇게 크고 센 고양이는 처음봤다'며 '쥐새끼가
자꾸 목에 방울을 달려고 해서 홧김에 그랬다'고 말했습니다.
한편 호랑이는 '저번엔 하룻강아지가 맞짱뜨자고 하더니
이젠 고양이까지 개긴다..못살겠다.....'며 한탄했습니다.

---------------------------------------------------------------------------------------

요즘은 엽기적이구, 허무한 개그가 유행이던데,,,
전 요즘 너무 힘들게 지내서리,,,,, 의욕두 없구,,, 힘두 없구,,, 그러네여.. (-.-) 이거
혹시 병인가여?????

암튼,, 전 오늘두 지하 단칸방에서 열심히 자료를 올리구 있네여..... 불쌍한 안규,,,
혹시 저 같이 불쌍한 사람 구제한 뇨자분 없수???? 헤~~~~~~~~~~~

2001년두 벌써 반이 지나버렸네여.....
어린 나이에 할말은 아니지만,,,, 정말 세월 빨리 지나가는거 같네여... 제가 상경한지
엇그제 같은데 벌써 2년이 다 되어 가니 말입니다.
여러분들은 요즘 어떻게 지내시나여????

오늘의 헛소리는 여기까지만 하구여,,,,

오늘두 마찬가지루 가볍게 읽을 수 있는 쿼리문을 소개해 드리겠습니다.
오늘은 서브 쿼리 중에 가장 많이 사용하는 것중의 하나인 where 절에 사용하는 방법과
외부 쿼리를 참조하는 방법을 알아 보도록 하겠습니다.

Sub Query가 where 절 안에 사용되면, 이것은 바루 행 선택 프로세스의 부분처럼 동작하게
됩니다.

가장 간단한 Sub Query는 검색 조건 안에 나타나며, 검색 조건을 테스트하는 데 사용되는
값을 산출하게 됩니다.

사원 정보(personal)
 

번호(no)

이름(name)

매출액(mechul)

1

최안규

1250

2

백명희

540

3

최연환

1520

4

김형모

4000

 


개인 목표매출 테이블(sales)
 

번호(no)

지점(jijum)

사번(sabun)

매출목표액(sales)

1

01

1001

2250

2

02

1002

2540

3

03

1003

2520

4

03

1004

2000



위와 같은 테이블이 두개가 존재한다고 가정을 하시구여,,
사원의 정보 테이블과 그리구, 그 사원이 한해 정한 매출 목표치가 들어 있는 정보
테이블 입니다.

만약 내가 사주 입장이라면,,,
이런 주문을 할수 있습니다.

각각의 사원중에서 회사의 전체매출목표액의 10% 보다 작은 매출액을 가지는 사원을
뽑거나 혹은 전체 매출목표액의 30% 이상의 매출액을 기록한 사원을 뽑아보고 싶을
경우가 있을 겁니다.

이런경우에,,,,

아주 유용하게 사용될수 있습니다.

그럼 쿼리를 보도록 하겠습니다.

SELECT NAME FROM personal where mechul < (0.1 * (SELECT sum(sales) from sales))

어떠 신가여??? 생각보다 어렵지는 않지여?
서브 쿼리를 쓰지 않는다면,,,
관리자는 아마 전체매출액을 직접 뽑아서 입력해 주어야 할겁니다.

SELECT NAME FROM personal where mechul < (0.1 * 10000)

이런식으루,,, 그렇지여?
그러니까 전체 매출액을 뽑아볼 필요없이 원하는 결과를 하나의 쿼리를 뽑을 수 있다는
매력이 있습니다.
이 쿼리는 생각보다 간단하지만,,,, 실무에서는 무쟈게 많이 사용하는 쿼리이므로 꼭
기억해 두셨다가,,, 이를 응용해서 좋은 프로그램을 하시기 바랍니다.

그럼 오늘은 여기까지만 보기루 하구여,,,

다음엔 좀더 실무적이구, 필요한 기능을 찾아서 다시 찾아 뵙도록 하겠습니다.
그때까지 건강하시길....

빠여~~~~
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.