강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

:: 단순 SELECT 문 ::
작성자 : 13 김영철
등록날짜 : 2009.01.24 23:10
2,368

1. SELECT 문이란?

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

2. SELECT의 대상

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

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

많은 객체들이 언급될 것 같았는데 별로 없네요. 테이블과 뷰와 함수에 대해서는 기초 강좌에서 다루어졌습니다. 뷰(View)의 경우는 테이블을 기반으로 정보를 주기 때문에 굳이 SELECT문의 대상에 언급을 하지 않아도 될것 같습니다. 이 객체를 대상으로한 SELECT의 예를 나중에 살펴보도록 하겠습니다.

※ 뷰(View)란 하나 또는 그 이상의 테이블로부터 생성된, 하지만 물리적으로 존재하지 않는 가상의 논리적인 테이블입니다. 하나의 테이블에서만 SELECT 되어진 결과를 가지고 뷰를 만들 수도 있고, 여러개의 테이블을 조인(JOIN)하여 SELECT한 결과를 가지고 뷰를 만들수 있습니다. 사용자(End User) 입장에서는 뷰를 일반적인 테이블과 똑같은 방법으로 사용하게 되므로, 이 뷰가 어떻게 만들어 졌는지 알지 못합니다.... - 뷰(View)에 대한 기초 강좌 중에서 -

3. SELECT 문의 예

몇가지 예제를 봐 가면서 SELECT 문의 사용 방법을 확인해보도록 하겠습니다.

[예제1]

연습용 데이터베이스 중에서 pubs 데이터베이스가 있습니다. 이 데이터베이스에 포함된 테이블 중에 titles 테이블이 있는데 이 테이블의 모든 내용을 확인하고 싶으면 다음과 같이 수행하면 됩니다.

SELECT * FROM titles

앗! 그런데 다음과 같은 오류 메세지가 표시되면서 원하는 결과가 나오지 않았습니다.

서버: 메시지 208, 수준 16, 상태 1, 줄 1
개체 이름 'titles'이(가) 잘못되었습니다.

o 위와 같은 오류가 발생한 이유는 titles 테이블을 검색하라고 했으나 현재 연결된 데이터베이스에서 titles 테이블을 찾지 못하기 때문입니다.
o 왜냐하면 위 SELECT문에 pubs 데이터베이스를 지정하지 않았기 때문입니다.
o 다음과 같이 하면 오류가 발생하지 않습니다.

USE Pubs -- 1)
GO


SELECT * FROM titles

-- 또는

SELECT * FROM pubs.dbo.titles -- 2)


o 1) 에서 pubs 데이터베이스를 사용한다고 지정을 했습니다.
o 2) 에서는 pubs.dbo를 테이블 앞에 붙여 titles가 pubs 데이터베이스에 있으면서 소유자가 dbo임을 명시를 했으므로 USE pubs 를 생략 할 수 있습니다.

만일 아래와 같은 오류 메세지가 표시된다면 현재 접속한 사용자 계정이 pubs 데이터베이스의 titles 테이블에 대한 SELECT 권한이 없기 때문입니다.

서버: 메시지 229, 수준 14, 상태 5, 줄 1
'dbo' 소유자, 'pubs' 데이터베이스, 'titles' 개체에 대한 SELECT 사용 권한이 거부되었습니다.

즉, 테이블의 정보를 SELECT 하기 위해서는 이에 합당한 권한이 주어져야 함을 의미합니다.

[예제2]

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

SELECT getdate()

표시되는 결과는 다음과 같습니다.

2001-09-03 22:58:46.147

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

[예제3]

다음은 특정 컬럼만을 지정하여 검색하는 예제입니다. titles 테이블에서 title_id 컬럼과 title 컬럼만을 검색 할 경우 다음과 같이 하면 됩니다.

USE Pubs
GO

SELECT title_id, title FROM titles

[예제4]

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

USE Pubs
GO

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

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

다음과 같이 하면 됩니다.

USE Pubs
GO

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


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

[예제5]

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

USE Pubs
GO

SELECT * FROM titles WHERE title_id = 'PS2091'

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

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

출처 : http://www.sqlworld.pe.kr 

 
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2715 MySQL 에서 사용되는 sql문 정리 M 최고의하루 12.19 2743
2714 [ MySQL ] MySQL 기본적으로 익혀야할 과제 M 최고의하루 12.18 2501
2713 [ MySQL ] MySql4.x / PHP4.x / Apache 한글깨짐 M 최고의하루 12.18 3258
2712 [ MySQL ] MySQL 5 한글 UTF8 한글 깨짐 분석 (Windows 용) M 최고의하루 12.04 5731
2711 MySQL 명령어 정리 M 최고의하루 12.04 2389
2710 MSSQL 페이징 13 김영철 01.24 2488
2709 mssql 암호화 13 김영철 01.24 2487
2708 mysql과 mssql의 변환시 유의사항 13 김영철 01.24 2673
2707 mssql 백업방법 13 김영철 01.24 2773
2706 데이터 정보 확인방법 13 김영철 01.24 2355
2705 MS-SQL JDBC "ResultSet Can Not Re-Read Row Data" 예외 처리 방법 13 김영철 01.24 3284
2704 IDENTITY 속성 13 김영철 01.24 2161
2703 Jsp + Mssql Long타입 데이타 사용시 문제점 13 김영철 01.24 2764
2702 PWDENCRYPT와 PWDCOMPARE를 통해 암호화 기능 13 김영철 01.24 3471
2701 MSSQL 기본값 13 김영철 01.24 3037
2700 :: 데이터베이스의 종류 :: 13 김영철 01.24 2350
2699 :: 데이터베이스의 객체 :: 13 김영철 01.24 2635
2698 :: Transact-SQL 이란 :: 13 김영철 01.24 2887
열람중 :: 단순 SELECT 문 :: 13 김영철 01.24 2369
2696 :: WHERE 절 :: 13 김영철 01.24 2804
2695 :: ORDER BY, GROUP BY :: 13 김영철 01.24 2480
2694 :: 조인(Join) 이란? :: 13 김영철 01.24 2182
2693 :: 조인(Join)의 사용 예 :: 13 김영철 01.24 2343
2692 :: SELECT INTO 와 INSERT INTO :: 13 김영철 01.24 2576
2691 :: 데이터베이스의 구조 :: 13 김영철 01.24 2307
2690 :: 데이터베이스 생성 :: 13 김영철 01.24 2113
2689 :: 데이터 무결성 :: [출처] :: 데이터 무결성 :: (쇼핑몰 대박못내는 진짜이유!) |작성자 프런티어 13 김영철 01.24 3177
2688 :: 인덱스(Index) :: 13 김영철 01.24 2091
2687 :: 뷰(View) :: 13 김영철 01.24 2817
2686 :: 저장프로시저 (Stored Procedure) :: 13 김영철 01.24 2784
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취