Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

인사이트

[SQL] 오라클 DB 내용정리 본문

ORACLE DB (SQL)

[SQL] 오라클 DB 내용정리

쿰쿵 2021. 5. 25. 21:26

오라클db를 설치하면서 내가 헷갈린 부분이 있다. 그것만 정리했다.

 

1. 열심히 다 설치한 것 같아서 실행하려고 하는데 이런 오류가 떴다

해결 방법:

탐색기에서 C:\oraclexe\app\oracle\product\11.2.0\server를 치면 폴더가 하나 열리는데 거기에 Get_Started라는 파일이 있다. 마우스 우클릭으로 속성에 들어가서 url속성을 http://127.0.0.1:8080/apex/f?p=4950으로 바꾸면 된다!


scott계정은 오라클 db를 설치하면 오라클에서 공부하라고 기본적으로 넣어준 테이블들이 있는 사용자이다

 

아래는 sql develpoer가 아니라 sql command line에서 한 거다

1. scott.sql파일을 끌어와서

2. conn scott(사용자이름임)/TIGER(비밀번호임, 대문자로 쳐야함)로 이것저것 해보았다.


scott사용자 추가하는 방법이다. 파일 끌어다 놓으면 경로는 자동으로 나오는데 저 앞에 @는 꼭 붙여줘야한다


먼저 현재 내 사용자를 알아보는 방법이다. show user;

scott사용자에서 tab에 있는 내용들을 전부 조회해봄(show user인데 sho로 오타가 났다)


이제는 command line에서 하는 거 말고 가시적으로 조금 더 편하게 볼 수 있게 sql developer라는 걸 설치해보겠다.(이것도 설치하면서 내가 헷갈릴 것 같은 부분만 적어놨다)

1. sql developer를 설치하다보면 돋보기를 눌러서 파일을 선택해야 할 때가 있다

그 때 아래 파일을 선택하면 된다

 

2. 이제 사용자를 추가할 차례다.

sql developer 좌측 상단에 보면 초록색+버튼이 있다. 그거 누르면 창이 뜨는데 아래처럼 입력해주면 된다(scott계정을 추가하려고 한거다)


좌측 : 테이블의 구조를 알아보고 싶을 때 사용하는 명령어 desc(그 말은 emp는 테이블 이름이라는 걸 알 수 있다)

우측: emp테이블의 모든 데이터들 다 보여줘라는 의미고, 아래는 dept테이블의 모든 데이터들 다 보여줘 라는 의미다

왼쪽은 emp 테이블의 구조가 어떻게 생겼는지 명령어로만 조회하는 것, 오른쪽은 sql developer로 가시적으로 보면서 하는 것 


select문에서 연산도 가능하다

select에서 연산도 가능함


근데 위 결과를 보면 마지막 부분이 너무 이상하다. 1년 연봉의 총 합과 인센티브를 계산하려고 하는데 몇명은 인센티브가 없기 때문에 전체 값을 더하면 null이 나온다. 내가 원하는 값이 아니다. 그래서 아래와 같이 nvl()이라는 함수를 이용해서 결과를 내가 원하는거에 맞춰 바꿀 수 있다.

그리고 각 열의 이름을 보니까 알아보기가 너무 어렵다. 이런건 알리아스를 줘서 변경해줄 수 있고, 띄어쓰기까지 인정이 된다

null값 대신 숫자, alias


그냥 emp테이블에 있는 deptno를 조회할때는 모든 행이 다 나왔는데 보니까 중복된 숫자들이 좀 보인다.

단순 데이터 조회


그래서 위와 같이 중복 된 내용 중 대표 하나씩만 나오게 하고 싶다면 DISTINCT라는 명령어를 select 바로 뒤에 적어주면 된다.

distinct명령어(중복된 문자 그룹화)