SELECT 문 > 기술자료 | 해피정닷컴

SELECT 문 > 기술자료

본문 바로가기

사이트 내 전체검색

SELECT 문 > 기술자료

ClassicASP SELECT 문

페이지 정보


본문

1. SELECT 문이란?
우리가 데이터베이스에 정보를 저장하는 이유는 언젠가 필요할 때 다시 검색해보기 위해서입니다. 지난 데이터를 테이프에 백업 받아 영구히 보관하는 이유도 자주는 아닐 수 있지만 언젠가는 그 정보가 필요해서 보아야 할 필요성을 알기 때문입니다. 다시는 볼 필요가 없는 정보라면 데이터베이스에 보관할 필요가 없다고 생각합니다. 이렇듯 데이터베이스에서 정보를 검색할 때 사용되는 퀴리문이 SELECT 문입니다.


2. SELECT의 대상
데이터베이스의 정보를 검색하는 SELECT문의 대상이되는 객체들은 언급해 본다면 다음과 같습니다.

o 데이블(Table)
o 뷰(View)
o 함수(Function)



[ 예제1 ]
데이터베이스에 포함된 테이블 중에 TABLE 테이블이 있는데 이 테이블의 모든 내용을 확인하고 싶으면 다음과 같이 수행하면 됩니다.

SELECT * FROM titles


[ 예제2 ]
SELECT의 대상이 함수가 되는 경우를 보도록 하겠습니다.
다음의 예는 현재의 날짜와 시간을 확인하는 방법입니다.

SELECT getdate()
-->  2012-01-14 23:09:46.147

o 현재의 날짜와 시간을 리턴해주는 getdate()함수를 SELECT 함으로써 현재의 날짜와 시간을 표시하였습니다.
o 이와 같이 SELECT의 대상이 항상 테이블이 되는 것은 아닙니다. 하지만 대부분 테이블에서 데이터를 검색할 때 사용합니다.


[ 예제3 ]
다음은 특정 컬럼만을 지정하여 검색하는 예제입니다.
titles 테이블에서 id 컬럼과 title 컬럼만을 검색 할 경우

SELECT id, title FROM titles


[ 예제4 ]
다음은 특정 컬럼만을 지정하여 검색하데 표시되는 컬럼의 타이틀을 변경하여 표시하는 예제입니다.

SELECT id AS 아이디, title AS 타이틀 FROM titles

o 위와 같이 하면 표시되는 결과의 컬럼 제목이 id 대신에 '아이디'가, title 대신에 '타이틀' 이 표시됩니다.
o 만일 '아이디' 대신에 '타이틀 아이디' 라고 스페이스가 포함된 제목을 주고자 한다면 어떻게 해야 할까요?

SELECT id AS [타이틀 아이디], title AS 타이틀 FROM titles

o 위와 같이 컬럼명에 또는 검럼명을 대신하는 문자열에 스페이스가 포함되면 []로 묶어주면 됩니다. 또는 SQL Server의 예약어를 임의의 문자열로 취급하고 싶을 때도 []를 사용합니다.


[ 예제5 ]
이제는 테이블의 전체 데이터를 검색하는 것이 아니고 특정 조건을 만족하는 대상건만을 검색하는 예제입니다. SELECT 문에 WHERE 절을 추가하여 검색 대상을 제어 할 수 있습니다. 다음의 예제는 titles 테이블에서 id가 '1234'인 레코드만을 검색하기위해 WHERE절을 사용하고 있습니다.

SELECT * FROM titles WHERE id = '1234'

o 위와 같이 WHERE 절이 포함된 SELECT문이 전형적인 SELECT문입니다.


[ 예제6 ]
특정한 값을 제외하고 select 할 때
MySQL SELECT x FROM a WHERE NOT IN ( SELECT x FROM b ) - Unexpected result
- 원하는 값(특정값)을 제외하고 뿌려주고 싶을때
- 중복검사 할 때 자신의 값을 제외하고 중복체크 할 때
특정 자료들을 제외한 나머지만 select 하고 싶을때는  NOT IN 을 이용합니다.

예1)
SELECT * FROM titles WHERE a = '111' and id != '200' and id != '201' and id != '202' and id != '203'
( a = 111 ) and  ( id != 201, 202, 203 ) 조건이 충족되는 select 하고자 할때

예2)
SELECT * FROM titles WHERE a = '111' and id NOT IN ('200', '201', '202', '203')
( a = 111 ) and  ( id != 201, 202, 203 ) 조건이 충족되는 select 하고자 할때

예3)
SELECT name, age FROM titles WHERE name='han' and name NOT IN ('kim')
name 이  han 이지만  kim 이 아닌 결과값

예4) 2개 이상 동시에 제외하고 싶을 때 예시)
SELECT name, age FROM titles WHERE (name, age) NOT IN ( select 'Kim', '23' )
name 이  kim 아니고  age 가  23 이 아닌 결과값



관련자료
http://www.sqlworld.pe.kr/mboard/mboard/mboard.asp?board_id=sql01&group_name=board&idx_num=15
http://stackoverflow.com/questions/1001144/mysql-select-x-from-a-where-not-in-select-x-from-b-unexpected-result
http://blog.naver.com/hmw5233?Redirect=Log&logNo=60149187517

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 80 페이지
  • RSS
기술자료 목록
1061
Editor   47187  2012-02-07 23:32 ~ 2015-05-11 00:00  
1060
Editor   31769  2012-02-07 22:10 ~ 2016-08-31 00:00  
1059
도메인   11954  2012-02-03 10:22  
1058
ClassicASP   32864  2012-02-01 22:52 ~ 2016-01-25 00:00  
1057
JavaScript   46346  2012-01-31 23:38 ~ 2022-12-06 10:11  
1056
etc쇼핑몰   15050  2012-01-30 17:59 ~ 2018-06-08 05:12  
1055
ClassicASP   25293  2012-01-30 17:36  
1054
메이크샵   14441  2012-01-30 09:01  
1053
HTML   16630  2012-01-29 20:22  
1052
HTML   33680  2012-01-29 17:51 ~ 2018-11-15 05:52  
1051
메이크샵   9917  2012-01-26 16:00  
1050
메이크샵   12184  2012-01-20 18:26  
1049
영카트   12763  2012-01-18 19:51  
1048
MSSQL   38230  2012-01-17 14:04 ~ 2018-04-19 22:59  
열람
ClassicASP   12584  2012-01-14 23:08 ~ 2014-01-13 00:00  
1046
MSSQL   13018  2012-01-14 21:50  
1045
MSSQL   15542  2012-01-14 21:38  
1044
영카트   13000  2012-01-12 21:26  
1043
HTML   13483  2012-01-06 15:05  
1042
ClassicASP   26474  2012-01-05 12:05  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.