반응형
ShakeJ
MNWorld
ShakeJ
전체 방문자
오늘
어제
  • 카테고리 N
    • Contact
    • 🤔그냥이야기
    • 📷사진이야기
    • 제주도에서 한달을 살아보았다
    • 옛글 N
      • 👇Blog
      • 공지사항
      • 이슈 N
      • 생각들
      • 👇취미
      • 건프라
      • 👇Review
      • 노래리뷰
      • 영화리뷰
      • 👇Travel Story
      • 2011 도쿄여행기
      • 2013 Google IO
      • 2013 Jeju
      • 2014 HONGKONG
      • 2014 Jeju
      • 2014 Sanfransis..
      • 2015 Lombok
      • 2016 HONGKONG
      • 2017 Saigon
      • 국내여행기
      • Photo Story
      • Growth
      • 👇Server
      • Ruby on the Rai..
      • Frontend
      • FullStack (MEAN..
      • Ubuntu
      • 👇Android
      • 안드로이드 프로그래밍
      • 번역본
      • 내어플이야기
      • 코드창고
      • 👇iOS
      • 아이폰 프로그래밍
      • 맥북 이야기
      • 👇Microsoft
      • ASP.NET
      • Silverlight
      • 윈도우 이야기
      • 👇IT Story
      • 모바일 이야기
      • 하드웨어 이야기 N
      • 네트워크 이야기
      • 프로그래밍이야기
      • Database이야기
      • 클라우드이야기
      • 프론트 이야기
      • 마케팅이야기
      • 그래픽 작업
      • 블로그 팁

블로그 메뉴

  • GuestBook

공지사항

인기 글

태그

  • 블로그 만들기
  • 블로그 팁
  • 티스토리 팁
  • 블로그 운영하기
  • D40 사진
  • 블로그 초보
  • asp.net
  • 무료배너제작
  • shakej
  • 풍경사진
  • 랩
  • 블로그 이야기
  • 배너교환
  • 블로그 잡담
  • 안드로이드 어플 추천
  • 서울 출사지
  • 초대장
  • MNWorld
  • 블로그 처음
  • 블로그 관련
  • 블로그 운영
  • 블로그 꾸미기
  • 블로그 시작하기
  • 윈도우폰7
  • 블로그 운영하면서
  • 티스토리 초대장
  • 배너무료제작
  • 티스토리
  • 배너제작
  • iOS 프로그래밍

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ShakeJ

MNWorld

MSSQL 무작정 따라하기 -세번째시간 (쿼리 정리 1)
옛글/Database이야기

MSSQL 무작정 따라하기 -세번째시간 (쿼리 정리 1)

2010. 10. 28. 17:17
반응형
세번째 시간입니다.
SELECT , 정렬 쿼리에 대해서 간단히 알아볼께요 ^^


데이터 조회 (SELECT 문)

SELECT
  
컬럼이름
FROM
   
테이블이름
WHERE
   
조건
(( GROUP BY 컬럼이름 HAVING 조건 ))


*당연히 한글로 된 부분은 실제 쿼리에선 설명한 부분이 들어가야 함.

뒤에 (( ))안은 항상 같이 오게 된다. 둘중에 하나만 없어도 오류가 발생.


위와 같이 SELECT 다음에 *<~을 쓰지말고 컬럼이름을 일일이 써주세요.

왜냐하면 데이터베이스 튜닝이라고 해서 만약에 가입하는 고객이 몇만명 이렇게 늘어나면,

SELECT * 시에는 미세한 차이같지만, 매우 느리게 됩니다.

저같은 경우도 초보자라서 무슨 상관있겠어 하면서 게시판 DB를 마구 작성했는데,

접속자 수가 조금만 늘어나도 매우 느려지더군요... 개인컴퓨터로 호스팅을 해서 그런 것도 있지만,

작은 습관이 모여서 완벽한 프로그램을 만들게 되니까요.



이번엔 일부필드만 보이는 쿼리를 날려보겠습니다.

간단하죠?^^ 원하는 컬럼만 셀렉트 컬럼에 적어주면 되겠습니다.

원하는 값만 원하듯, 셀렉트 쿼리에서
SELECT
 
phonenumber, CUSTOMERID
FROM
 
customers
라고 순서를 바꿔서 적어주면 바꿔서 출력이 됩니다 ^^ 매우 편리한 기능이라고 할 수 있겠네요.

last name, first name 바꿔서 출력할 때도 유용하게 사용이 되겠구요.


필드 결합하기 쿼리에 대해서 알아볼께요.

first name, last name 순서는 바꿔서 '길동' '홍' 이라고 나왔는데, 이를 '홍' '길동' 으로 바꾸었죠?
근데 한데 합쳐서 보고자 할때는 이 것도 역시 편리하게 +를 사용하면 되겠습니다.





이번엔 별칭 붙이기 쿼리를 알아볼께요.

컬럼에 대한 별칭을 정해주는 건데요.

쉽게 볼 수 있을 뿐 더러, 별칭을 정해주면 뒤에 나오는 정렬쿼리나, 여러 쿼리등에서'별칭'으로 해서 쿼리도 날릴 수가 있습니다.


참 편리하죠?

이래서 MS -SQL 은 OS나 하드웨어 등 컴퓨터 지식이 높지 않아도, 쉽게 자신이 원하는 쿼리로 사용이 가능합니다.

또한 영어를 매우 닮은 영문법을 닮아, 쉽습니다. SELECT, INSERT, AS 말그대로 영어 그대로 사용을 하니까요 ^^

힘을내셔서, 얼마안남았습니다.

중복행 제거 쿼리를 알아볼께요. 예를 들어 이름이 홍길동 두명이 있을 때 한 행을 제거 하는 쿼리입니다.

DISTINCT를 사용하여,

위와 같이 빨간 네모가 없는 경우엔 lastname + firstname이 중복되는 정보가 2개있을 시, 중복되는 행은 모두 제거가 됩니다.
예를 들어 '홍길동' 이 2명이 있을 땐 한명이 사라집니다.

하지만 뒤에 Phonenumber도 같이 붙이게 되면, 성명은 같지만, 폰넘버가 같지않아 다른 사람으로 인식 될때는 전화번호가 다른 '홍길동'둘은 둘다 지워지지가 않습니다.

신기하죠?^^

TOP 을 사용하면, customer ID 중 상위 (가장 빠른 순위대로) 19퍼센트만 출력이 됩니다.

물론 퍼센트를 사용하지 않고, 그냥 100 이렇게 써놓으면 100위까지만 출력이 되겠죠.

정렬 쿼리에 대해서 하나만 알고 끝낼께요

아래와 같이 ORDER BY만 붙여주면 오름 차순, 내림 차순 등으로 정리 할 수가 있습니다.

예를 들어 IP 테이블을 만들 때, 222.222.222.1 , 2. 3. 4 5, 6, 7, 이런 순이 아니라,
                     222.222.222.1 , 222.222.222.10, 100, 1000 이런식으로 나오게 되는데,

이럴 때 정리 할수가 있어요.^^ 자세한 쿼리는 ASP.NET 카테고리에 게시물이 있을 겁니다.

여하튼 우리가 하는 걸 DESC로 했을 때, customerid가 역순으로 정렬되어 나오는 걸 볼수가 잇습니다 ^^

오름차순이 아니라 DESC , 내림차순의 경우엔 ASC 를 사용합니다






휴우 열심히 달렸네요 ^^
 네번째 시간에서 뵐께요 !!
다음시간에선 원하는 데이터베이스만 빼내는 where 조건 쿼리나 list 등에 대해서 알아볼께요
수고하셨어요~


BY.ShakeJ
반응형
저작자표시 비영리

'옛글 > Database이야기' 카테고리의 다른 글

MS-SQL 무작정 따라하기 - 네번째 (쿼리 정리2)  (0) 2010.10.28
MS-SQL 무작정 따라하기 -두번째 시간  (0) 2010.10.28
MS-SQL 무작정 따라하기 - 첫번째 시간  (3) 2010.10.28
데이터 베이스에 대한 이야기- 두번째 시간  (1) 2010.10.28
데이터 베이스에 대한 이야기 - 첫번째 시간  (0) 2010.10.28
    추천글👇
    • [📷사진이야기] 붉은 호치민의 노을
    ShakeJ
    ShakeJ

    티스토리툴바