use testDB
go
select 고객정보.userID, UserName, Age FROM 고객정보, 회사정보
from 절에 두개의 테이블 이름을 사용하여 두 테이블로부터 검색하는 예
select*from 고객정보
select*from 회사정보
select A.userID,username,age,company,pay from 고객정보 A, 회사정보 B
where A.userID = B.userID
select userid, username, age from 고객정보 where age<=20
select*from 고객정보 where username='박종원'
select*from 고객정보 where username='박종원'
select*from 고객정보 where username='박종원'
select*from 고객정보 where username='박종원'+space(1)
select*from 고객정보 where age>=20 and age<=25
select*from 고객정보 where age between 20 and 25
select*from 고객정보 where age<=20 or age>=25
select*from 고객정보 where age not between 20 and 25
고객정보 테이블에서 등록일자가 2000년 1월인 행을 검색하는 예
select*from 고객정보 where regdate between '2000-01-01' and '2000-01-31'
전반기 입사한 예
select*from 고객정보 where regdate between '2000-01-01' and '2000-06-30'
select*from 고객정보 where job = '건설업' or job = '자영업' or job = '회사원' or job = '교직자'
order by job
=
select*from 고객정보 where job in('건설업', '자영업', '회사원', '교직자')
order by job
select*from 고객정보 where job not in('건설업', '자영업', '회사원', '교직자')
order by job
직업이 교직자 이면서 주소가 서울 특별시인 고객의 회사 정보 데이터 검색
select*from 고객정보 where job='교직자' and addr1='서울특별시'
select*from 회사정보 where userid in('kl7551','bm3050','im2229','ar3491')
->
select*from 회사정보 where userid in(select userid from 고객정보 where job='교직자' and addr1='서울특별시')
와일드 카드 문자를 사용하여 검색하는 예
1. 고객정보 테이블에서 유져아이디 값이 a로 시작하는 모든 행을 검색하는 예
select*from 고객정보 where userid like 'a%'
select*from 고객정보 where username like '김%'
select*from 고객정보 where userid like 'ar%'
select*from 고객정보 where userid like 'ar__20'
select*from 고객정보 where userid like '[a-c]%'
select*from 고객정보 where userid like 'a[^c]%'
select*from 고객정보 where userid like '%234'
select*from 고객정보 where addr1 like '%광%' order by addr1
select*from 고객정보 where addr1 like '%도%' order by addr1
select*from 고객정보 where addr1 like '%시%' order by addr1
select*from 고객정보 where userid not like '%234'
or또는
select*from 고객정보 where not userid like '%234'
전화 번호에서 null인 행을 찾는 예 ('=' 사용 안된다. -> is)
select*from 고객정보 where tel is null
select*from 고객정보 where tel is not null
연산자의 우선 순위에 따라 결과가 다르게 나타날 수 있기 때문에 where 절에 많은 조건식이 사용된다면
괄호를 사용하여 연산 순위를 명확히 하는 것이 바람직 하다.
select*from 고객정보 where addr1 ='경기도' or age>=50 and job='회사원' order by age desc
select*from 고객정보 where (addr1 ='경기도' or age>=50) and job='회사원' order by age desc -> and 연산자가 먼저 실행된다.
select*from 고객정보 where addr1 ='경기도' or (age>=50 and job='회사원') order by job
select job from 고객정보
select distinct job from 고객정보 -> 직업들을 대표로 하나씩만 보여 주는 형식..distinct
select*from 고객정보 order by age
select*from 고객정보 order by age desc
select top(7)*from 고객정보 order by age desc
select top 7*from 고객정보 order by age desc
select top(7) with ties* from 고객정보 order by age desc
select top(10) percent* from 고객정보 order by age desc
set rowcount 을 실행할 경우 지정된 행의 수만큼 표시되는 행을 제한한다.
set rowcount 5
select*from 고객정보 order by age desc
set row... 구문을 풀어 주기 위해선 set rowcount 값을 0으로 주면 된다.
set rowcount 0
select*from 고객정보 order by age desc
select*from 고객정보 order by username desc
select*from 고객정보 order by 2 desc <-2는 2번째 컬럼....
select*from 고객정보 where addr1='서울특별시' order by username desc
order by... 절에 수식을 사용할 수 있다.
select productid, productname, price, (price * 0.8) as 판매금액 from 제품정보 order by 판매금액
select productid, productname, price, (price * 0.8) as 판매금액 from 제품정보 order by (price * 0.8)
select userid, username, addr1, addr2, addr3 from 고객정보 order by addr1, addr2, addr3
use testdb
use master
drop database mydb01
create database mydb11
use mydb11
create table mytable00
(
ID varchar(10) NOT NULL,
Name varchar(10) NULL,
Addr varchar(50) NULL,
)
exec sp_help mytable00
drop table mytable00
create table mytable00
(
ID int identity(1,1),
Name char(10) NULL,
Addr char(50) NULL,
age int default 0
)
alter table mytable00
add constraint ck_mytable00_age check(age>=0)
나이를 0이하로 주게 되면 에러가 뜨며 실행이 되지 않는다.
sp_help mytable00
insert mytable00 values('박현영','경기도 이천시 구리시',30)
select*from mytable00
use testdb
go
검색된결과(testdb)를 mydb11의 mytable00의 항목에 추가하는예
insert mydb11..mytable00
select username, addr1, age from testdb..고객정보 where job='의료인'
select*from mydb11..mytable00
create procedure proc11
as
select username, addr1, age from 고객정보 where job='법조인'
create view view11
as
select username, addr1, age from 고객정보 where job='법조인'
select*from view11
exec proc11
insert mydb11..mytable00
exec testdb..proc11
select*from mydb11..mytable00
drop procedure proc11
drop view view11
cd로 부터 복사한 엑셀 파일이 경로 c에
다음은 엑셀 파일에 저장된 데이터를 검색하는 예
Select USERID,USERNAME
From OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'Data Source="C:\ExcelDB.xls";User ID=Admin;password=;
Extended properties=Excel 5.0')...엑셀고객
sp_helpDB
'I T. > MS SQL Server 2005' 카테고리의 다른 글
SQL Select 문제 (0) | 2009.12.09 |
---|---|
SQL server(6) 제약조건 (0) | 2009.12.09 |
SQL server 2005(5) - 데이터 검색2 (0) | 2009.12.09 |
SQL server 2003 (4) - create table (0) | 2009.12.09 |
SQL server 2005 (3) 데이터베이스 (0) | 2009.12.09 |
SQL server 2003 (2) 계정생성 (0) | 2009.12.09 |