메뉴 건너뛰기

(*.168.0.1) 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기
Extra Form
출처 http://blog.naver.com/trapezer84/220627645123
우선 oracle.com 에 접속합니다.




downloads를 클릭하지 않고 위에 살포시 올려주면 submenu가 뜨구요, 
거기서 11g Express Edition 을 클릭! 








만일 로그인을 하지 않으면 이렇게 나옵니다. 계정이 없다면 생성해주시구여. 
로그인을 하는 동시에 다운로드가 시작됩니다.



 
Oracle XE 설치 전에 반드시!!!! 서버를 꼭 켜주세요 >_<

 


다운받은 파일의 압축을 풀어줍니다. 


 














여기서 HTTP port란, HTTP를 들어가는 문이라고 생각하시면 됩니다!


절대 잊어버리면 안되는 비밀번호!!!!!!!!




 

                               

데이터베이스를 사용할 때 거의 코멘트창에서 사용하는데요, 좀 더 개발자를 편리하게 하기위한 것으로 다양한 프로그램이 있답니다. 

- 오렌지 

- 토드 for Oracle 

- Oracle developer 


등.. 


 그중 토드와 오렌지는 유료이기 때문에 Oracle Developer를 사용해봅니다... 


 
























 

 


1. 직원들의 이름(last name)과 급여(salary)를 알아보자 



오라클에서 주석은 -- 이렇게 처리해줍니다 




2. last name & 사번일자 & 고용일자 알아보자 




3. 사원들의 이름, 연봉 및 커미션을 조회 




4. 사원들의 사번, 성, 이름, 연봉 및 커미션을 조회





5. 부서의 번호, 이름을 출력




6. 연동이 12000 이상 되는 직원들의 LAST_NAME 및 연봉을 조회한다. 




7. 


자바의 IF절과 WHERE은 비슷하지만 다른 점이 있다 바로 NOT 




8. 


==또한 다르다 = (SINGLE EQUAL)을 사용한다


 




9. 부서 번호가 30보다 작은 부서에서 일하는 사원들의 성과 이름을 조회 






10. 9번에서 사번이 200번인 사람을 조회


WHERE 에서는 AND 와 OR을 사용한다. 



11. 9번에서 연봉이 5000이상을 조회





12. 연봉이 5000에서 12000의 범위 외에 있는 사람들의 LAST_NAME 조회





13. 20번 및 50번 부서에서 근무하는 모든 사원들의 LAST_NAME 및 부서번호를 조회 


 



14. 13번을 IN을 사용해서 조회 


 

[데이터 조회할 때 우선... ]

가장 먼저 내가 뭘 보고 싶은지 (READ, SELECT할 것들...) 을 찾아낸다 

그리고 어디서 봐야할지 
그리고 어떠한 조건인지 결정! 


1. 샐러리를 기준으로 정렬하기 ; 오름차순 





2. 샐러리르 기준으로 정렬하기 ; 내림차순 




3. 이름과 연봉 모두 정렬하기 ; 2차 정렬 



4. 20번 및 50번 부서에서 근무하는 사원들의 LAST_NAME 과 부서번호를 알파벳 순으로 조회한다. 

 




-WHERE 절은 여러개의 조건을 지원 

-AND , OR 을 사용해 여러개의 조건을 사용할 수 있음 

-AND 와 OR이 동시에 사용될 때 AND가 우선순위를 가진다 

-우선순위를 높여주기 위해 괄호를 사용


LIKE는 거의 사용하지 않는게 좋다, 느리기 때문에! 하지만 내용검색에는 사용해야 함... 


WHERE 절에는 NOT을 사용하지 ! 을 사용하지 않는다. 




타입이 텍스트인지 수인지에 따라서 표기법이 다르다. 

텍스트는 ' ' 사이에 넣어야하고 수는 그냥 입력하면 된다.


 

       
W3CSHOOL 에서도 SQL을 공부할 수 있어요!
여러분들도 들어가셔서 공부해보세요 
바로바로 쿼리 작성할 수 있구. 재미있답니다.


 

 

[ SELECT와 GROUP BY의 컬럼들이 같아야 하는 이유 ]
1반, 2반, 3반 학생들의 점수가 각 있고 평균을 내고 싶을 경우 
일단 1반이 누구인지 알아야 한다. 즉 각 반의 학생들의 점수를 알아야 하는 것이다. 
그리고 학생들의 점수 평균을 낸다. 
....  그럴 때 학생들의 평균을 내기 위해선 학생들의 점수를 그룹화 해야하고 이를 보여줘야 하므로 
SELECT와 GROUP BY 의 컬럼들이 같아야 하는 것이다. 




 




오라클은 AS를 사용하지 않습니다. 그냥 바로 컬럼명을 적으면 인식을 하고 컬럼명으로 넣어주죠.






 




 



GROUP BY 의 조건들은 HAVING으로 사용한다. ( HAVING에는 집계 함수를 적어야 한다) 
 
 


 


데이터 정의 언어 (DDL; DATA DEFINITION LANGUAGE)


- DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목저긍로 사용하는 언어 

- 번역 결과가 데이터 사전이라는 특별한 파일에 여러 개의 테이블로 저장된다. 

- 데이터 베이스의 논리적 데이터 구조와 물리적 데이터 구조의 정의 및 수정 

- 논리적 데이터 구조와 물리적 데이터 구조 간의 사상 정의 


- SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를 정의하거나 변경 또는 삭제할 때 사용하는 언어 

- 데이터 베이스 관리자나 데이터베이스 설게자가 사용한다. 

- CREATE, ALTER, DROP 


데이터 조작 언어 (DML: DATA MANIPULATION LANGUAGE); 서브 언어


- 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서 사용자(응용프로그래)와 DBMS 간의 인터페이스를 제공한다. 

- 응용 프로그램을 통하여 사용자가 DB의 데이터를 실질적으로 조작할 수 있도록 하기 위해, C, COBOL 등의 호스트 언어에 DB 기능을 추가시켜 만든 언어 

- 데이터 조작어에는 질의어가 있으며, 질의어는 터미널에서 주로 이용하는 비절차적 데이터 언어이다. 


- 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다. 

- SELECT, INSERT, DELETE, UPDATE (S I U D)


데이터 제어 언어 (DCL; DATA CONTROL LANGUAGE)


- 무결성, 보안 및 권한 제어, 회복, 병행수행 제어 등을 하기 위한 언어 

- 데이터를 보호하고 데이터를 관리하는 목적으로 사용 


- COMMIT, ROLLBACK, GRANT, REVOKE 



[참고 사이트]

[1] http://dinggur.tistory.com/105

서브 쿼리에서의 IN 과 = 차이 


IN 은 결과가 여러 개가 나오구요.




= 는 딱 하나만 나옵니다. 





서브 쿼리도 AND / OR 로 연결할 수 있어요 









NVL 은 NULL 값을 0으로 바꿔준다는 것이다 



서브 쿼리 안에서도 바로 NVL 을 사용할 수 있다 



이중 쿼리 


 



1. 서브쿼리를 SELECT 절 안에도 사용할 수 있는데요,

서브쿼리 안의 결과는 하나만 나와야 한다.

그렇지 않으면 안돼요. 


만일 여러개 결과가 나온다면 (야매로) ROWNUM = 1을 사용하시면 된답니다. 

 



2. 프롬절에서 서브쿼리는 뷰 라고 불립니다. 


[참고 사이트]

[1] http://wiki.gurubee.net/pages/viewpage.action?pageId=26744146