Dev/DB

ms-SQL 첫 번째 수업

2014. 3. 10. 19:39

ms-sql server 2008 사용 -> management studio 실행, 윈도우 인증으로 접속

 

--데이터 언어
 -- DDL : CREATE, ALTER, DROP
 -- DML : INSERT, UPDATE, DELETE,
 -- DCL : GRANT, REVOKE
 -- TRASACTION : COMMIT, ROLLBACK

 

CREATE DATABASE 서일

USE 서일

CREATE TABLE 학생 (
 학번 CHAR(5) PRIMARY KEY,
 이름 VARCHAR(10) NOT NULL,
 등록일 DATE DEFAULT getdate())
 
INSERT
  INTO 학생(학번, 이름)
  VALUES ('12345', '홍길동') -- 문자나 날짜는 따옴표(') 안에
  

SELECT * FROM 학생

UPDATE 학생 SET 이름='홍길순' WHERE 이름='홍길동'

DELETE FROM 학생 WHERE 이름='홍길순'

UPDATE 학생 SET 등록일='1991-12-30' WHERE 등록일='2014-03-10'


--스키마 : 데이터베이스의 구조 및 제약조건의 명세 / 데이터사전에 포함

execute sp_help 학생 --테이블의 스키마를 확인
exec sp_help 학생
sp_help 학생

 

sp_hlepdb 서일 --디비정보 확인

 

제약조건 종류 : 기본키, 외래키, not null, 체크, 유니크, 디폴트

 

 

1. 장래희망이 프로그래머인 친구들의 모든 정보
select * from 학생 where 장래희망='프로그래머'

 

 

2. 성별이 여자중에서 성격이 개차반인 친구의 정보
select * from 학생 where 성별='여자' and 성격='개차반'

 

 

3. 희망연봉이 오천만원이상(미만) 일억원 이하(초과)인 친구의 정보
select * from 학생 where 희망연봉 (not) between 50000000 and 100000000

 

 

4. 취미가 독서나 게임인 친구
select * from 학생
where 취미 not in('독서', '게임')
--where 취미 <> '독서' and 취미 <> '게임'

 

 

5. 성격에 쿨이나 활이 들어가는 친구?
select * from 학생
where 성격 like '%쿨%' or 성격='%활%'
--where not(성격 like '%쿨%' or 성격='%활%')

 

 

6. 자상한 장점을 가지고 있는 친구?
select * from 학생 where 장점 like '%자상%'

 

 

7. 하고싶은 말이 다로 끝나는 친구?
select * from 학생 where 하고싶은말 like '%다'

 

 

8. 희망연봉이 높은 사람부터 차례로 보이기
select * from 학생 order by 희망연봉 desc

 

 

9. 장점에 책임이라는 단어가 들어가 있는 친구들의
이름, 장점, 희망연봉을 연봉이 높은 순

select 이름, 장점, 희망연봉 from 학생 where 장점 like '%책임%' order by 희망연봉 desc

 

 

10. 아이디 세,네번째에 12가 들어가 있는 친구?
select * from 학생 where 아이디 like '__12%'

 

 

10.1 아이디 네번째가 2나 3이 들어가 있는 친구?
select * from 학생
 where 아이디 like '___[23]%'

 


11. 하고싶은 말을 제일 길게 쓴 친구는 누구?
select top 1 이름, 하고싶은말, len(하고싶은말) as '글자 수'  from 학생
order by 3 desc

 

select 이름, 하고싶은말 from 학생
where len(하고싶은말) = (select max(len(하고싶은말)) from 학생)

 

 

 

'Dev > DB' 카테고리의 다른 글

ms-SQL 세 번째 수업  (0) 2014.03.24
ms-SQL 두 번째 수업  (0) 2014.03.17
[Oracle] 오라클을 해보자  (0) 2013.11.26
[Oracle] 계정 생성 및 삭제 (DDL)  (0) 2013.11.19
[Oracle] 정리(1)  (0) 2013.10.20