오늘은 그룹 함수에 대해서 알아보겠습니다.

 

● 그룹 함수란 무엇일까요?

: 그룹 함수는 하나 이상의  테이블 값(행)을  그룹으로 묶어 연산을 통해서  합계, 평균 최대값 등  하나의 결과로  나타낼 수 있도록 도와주는 함수의 종류 입니다.

 

● 그룹 함수 종류

 

 

예시를 통해서 각 함수들을 설명하겠습니다.

 

1) 합계 : sum() / 형식 : select sum(수치형 데이터가 들어있는 필드명) from 테이블명;

 

 

2) 카운트 : count()  / 형식 : select count(필드명) from 테이블명;

 

 

3) 평균 : avg() / 형식 : select avg(수치형 데이터가 들어있는 필드명) from 테이블명;

 

 

4) 최대값 : max() / 형식 : select max(수치형 데이터가 들어있는 필드명) from 테이블명;

 

 

5) 최소값 : min() / 형식 : select min(수치형 데이터가 들어있는 필드명) from 테이블명;

 

 

6) Group by 절

* Group by 절은 문제를 통해서 설명하겠습니다.

  

    Q) 직업별 급여 평균( select avg(sal) from emp; )

 

 

문제를 잘 푼거 같은데 오류가 나왔습니다. 왜 오류가 났을까요?

job이라는 테이블에는 14개의 값이 출력 되고, avg(sal)은 1개의 값이 출력 되기 때문입니다.

database는 정형의 데이터(테이블)로 되어 있기 때문에 출력하는 값의 개수를 맞춰주어야 합니다. 

이런 상황에서 Group by 절을 통해서 문제를 해결할 수 있습니다.

 

group by절을 통해서 결과 값이 5개의 그룹의 평균 급여로 정형화된 형식으로 출력 되었습니다.

 

7) Having 절 : group by 절을 having 절을 통해서 추가적 조건을 가능하게 해줍니다

 

*  Having 절도 문제를 통해서 설명하겠습니다. 

 

     Q) 직업별 급여 평균(단, 급여 평균 2000이상 직업)

 

여기 까지는 앞에 group by 절을 통해서 급여의 평균을 구하는 것이 같습니다.

이제 추가 적인 조건인 2000이상인 급여를 추가해 보겠습니다.

 

 

 

 

 

SELECT문(검색, 추출): select 문은 데이터를 조회 하기 위한 sql 명령어 입니다.

 

SELECT 문을 갈략하게 알아보겠습니다.

 

1. SELECT * FROM TABLE_NAME; 이런 대표적인 형식을 가지고 있습니다.

 -  select 와 from 언제나 함께 있어야 합니다.

 -  마지막은 반드시 ; (세미콜론) 으로 끝내야 합니다.

 

2. SELECT문 안에는 각종 명령어들이 함께 사용합니다.

 - desc : 데이터의 특징을 보여줍니다.

 - as: 생략 할 수 있지만 별칠을 만들 때 사용합니다.

 - distinct : 중복 된 데이터를 필터링해 한번만 사용합니다.

 - whrer :  문장에서 조건을 넣어줄 때 사용합니다.

 

이외에도 다양한 명령어를 통해서 결과물을 추출합니다. 뒤에서 예시를 통해서 자세히 설명하겠습니다.

 

 

우선 select 문을 자세히 들어가기 전 가장 기본적인 연산자 3가지을 알아보고 시작하겠습니다.

 

1. 산술 연산자

산술 연산자는 우리가 많이 알고 배워왔던 것들입니다.

● ( + ,  -  ,  *  ,  / ) 입니다.

 

 

2. 비교 연산자

비교 연산자는 조건을 주어질 때 많이 사용 됩니다.

 

● = 같다

● > 보다 크다

● < 보다 작다

● >= 보다 크거나 같다

● <= 보다 작거나 같다

● <>, !=, ^= 다르다

 

3. 논리 연산자

논리 연산자 또한 조건을 주어질 때 많이 사용 하니 꼭 기억해야합니다.

 

●AND :  두 가지 조건을 모두 만족하는 값을 출력합니다.

●OR : 두 가지 조건 중에서 한가지라도 만족한다면 값을 출력합니다.  

●NOT : 조건에 만족하지 못하는 값을 출력합니다.

 

이제 본격적으로 SELECT 문과 다양한 명령어들을 통해서 결과를 출력해보겠습니다.

 

1) 테이블 목록 출력 ( select * from 파일이름;)

 

 

 

 

2) 테이블의 특징 출력  ( desc 파일명:)

 * NUMBER = 숫자 , VARCHAR2 = 글자

 

 

3) 테이블에서 필요한 요소만 출력 (select 칼럼1, 칼럼2... from 테이블이름;)

칼럼 : 결과 값같이 열의 위치에서 테이블의 필드명을 나타내주는 것입니다(dname, loc)

 

 

4)필드명에 별칭 붙여주기 (select 필드명1 as " 별칭 1" , 필드명2 as " 별칭2", 필드명3 as "별칭3"... from 테이블 이름;)

* as 는 생략이 가능, 별칭의 띄어쓰기를 하고 싶을때는 "" (큰 따옴표) 를 사용합니다.

TIP) 별칭을 붙있 때는 항상 "별칭" 이렇게 큰 따옴표를 붙이는게 나중에 실수를 줄일 수 있습니다.

 

 

 

 

5) 필드명을 중복 제거 후 출력(select distinct 필드명 from 파일명;)

 

 

 

6)where조건문 만들기 

( select 필드명1, 필드명2, 필드명3 ... from 파일명 where 조건;)

 

ex 1) 급여가 3000 이상인 사원 정보 출력 (급여 - sal/ 사원번호 - empno/  사원이름 - ename)

 

 

 

ex 2) 급여가 1000 ~ 3000 사이인 사원을 출력  

*  between ~ 사이의 값을 보여줍니다. (between  A and B)

 

 

 

ex 3) 2번째 자리에 'A'가 들어가 있는 사원 출력

* like 조건에 부합한걸 연결해줍니다.

  '%' = 어떤 문자가 와도 되고, 아무것도 안와도 됩니다.

  '_' = 어떤 문자라도 와야합니다. (아무것도 오지 않으면 안됩니다)

 

 

 

 

 

7) 오름차순으로 정렬하여 출력 (select * from 파일명 order by 필드명 asc;)

* order by 정렬하여 출력 합니다.

* asc 오름 차순으로 나열 합니다. 단 asc 자체는 생략을 해도 오름차순으로 출력됩니다.

* desc 내림 차순으로 나열 합니다.

 

 

 

 

오라클 DataBase를 조금 더 편리하고 가식적으로 좋은 환경으로 하기 위해서 오라클에서 지원해주는 SQL Developer을 다운로드 해보겠습니다.

 

https://www.oracle.com/kr/tools/downloads/sqldev-v192-downloads.html

 

Oracle SQL Developer Downloads | Oracle 대한민국

검색 결과가 없습니다 검색어와 일치하는 결과가 없습니다 We suggest you try the following to help find what you're looking for: Check the spelling of your keyword search. Use synonyms for the keyword you typed, for example, try “application” instead of “software.” Try one of the po

www.oracle.com

자동으로 다운이 안되고 저런 창이 뜬다면 I reviewed and accept the Oracle License Agreement 를 선택하시고 밑에 다운로드를 눌러주세요.

 

압축 파일로 다운이 됩니다. 다음 압축을 풀어주세요.

 

압축을 풀어주고 sqldeveloper 프로그램을 관리자 권한 실행으로 실행해줍니다.

완료가 되면 sqldeveloper 이 실행됩니다.

 

1. 왼쪽 상단의 초록색 + 를 클릭하면 해로 만들기/데이터베이스 접속 선택 창이 열립니다.

2. Name 을 작성합니다.

3. 사용자 이름, 비밀번호 작성합니다.

4. 비밀번호 저장을 눌러줍니다.

5. 테스트를 눌러보시고 상태에 '성공' 이 나오나 확인합니다.

6. 성공이 나타나면 저장을 눌러줍니다.

 

 

왼쪽 상단에 scott 라는 아이콘이 생기면 이제 프로그램 사용을 시작하시면 됩니다.

 

 

sqlplus system/비밀번호를 누르면 sql> 이라는 것이 나오고 커서 깜박이게 됩니다. 이 상태가 되면 오라클 데이터 베이스가 연결 된 것입니다.

 

● scott 계정 활성화 하기

 

sql> @c:\workspaces\scott.sql(파일의 위치와 이름)

내용을 읽어오면서 필요로 하는 계정을 만들기 위한 과정으로 접속 할 수 있게끔 권한이 부여되어지는 것입니다.  즉, c 드라이브 밑에 있는 것을 읽어 옴으로써, scott이라는 계정(아이디)을 하나 만든다고 볼 수 있습니다.

 

● 비밀번호 부여하기

sql> alter user scott identified by  비밀번호;   #;(세미콜론) : 명령어의 끝을 보여주는 기호입니다.

tiger 라는 비밀번호 부여했습니다.

User altered. - 사용자에 대해서 수정을 되었음을 의미합니다.

 

 

●계정에서 나가기

sql> exit

 

 

●계정에 들어갈 때

sqlplus 아이디/ 비밀번호

 

●계정 확인

sql> show user;

●계정 변경

conn 아이디/비밀번호

●비밀 번호를 보이기 싫을 때

sqlplus 아이디

Enter password: (비밀번호가 보이지 않습니다.)

sqlplus 만 입력하면 아이디와 비밀번호를  따로 입력하게 합니다.

Enter user-name: scott

Enter password: (비밀번호가 보이지 않습니다 )

 

 

●계정 테이블 목록 가져오기

 SQL>select * from tab; 

● Oracle 11g Express Edition Release2 다운로드 및 설치 

 

컴퓨터 프로그램들을 배우는데 있어서 가장 우선적으로 해야하는 것이 개발환경 세팅 입니다!!

세팅이 반이라고 해도 과언이 아닙니다!! 그럼 오라클 DataBase 다운을 시작하겠습니다.

 

왜~? 많은 버전들 중에 이 버전을 다운 받느냐하면?

 

1. 학습용으로 데이터 베이스를 공부할 때 사용하기 좋습니다.

2. 일반 컴퓨터에서 사용하더라도 큰 문제 없이 수행할 수 있습니다.

3. 익스프레스 버전이 아닌 버전들을 다운 받아서 사용할시에는 일반 컴퓨터에서는 무겁게 수행이 되고, 컴퓨터가 급속도로 느려지는걸 느끼시게 될 것입니다.

4. 익스프레스 버전은 11이 마지막이여서 이 버전을 사용합니다.

 

https://www.oracle.com/database/technologies/xe-prior-releases.html

 

XE Prior Release Archive

Support Oracle Database Express Edition (XE) is a community supported edition of the Oracle Database family. Please go to the Oracle Database XE Community Support Forum for help, feedback, and enhancement requests. Note: Oracle Support Services only provid

www.oracle.com

윈도우 버전의 DataBase를 선택하여 다운을 받습니다.

 

알집으로 다운 받아 집니다.

 ● 압축을 풀고 OracleXE112_Win64\DISK1setup.exe를 관리자 권한으로 실행합니다.

 

 

I accept the terms in the license agreement 를 누르고 Next 를 눌러주세요

 

관리자 아이디인 system 의 비밀 번호 입니다.

마지막으로 잘 다운 받았는지 확인을 해봐야겠죠? 검색에 cmd를 치고 명령 프롬프트를 켜주세요.

 

sqlplus system/비밀번호 (다운 받을 때 , 입력하셨던 비밀번호를 넣어주세요) 치시면 버전 정보와 함께

sql> 와 함께 커서가 깜박 거립니다. 그렇게 되면 다운로드 완료 입니다!! 이제 오라클 DataBase를 시작해봐요!!

● 데이터 (data)

    - 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값을 의미합니다. 즉, 의미 표현의 단위 입니다.

 

● 정보 (information)

    - 의사 결정에 유용하게 황용할 수 있도록 데이터를 처리한 결과물입니다.

 

    ※ 데이터와 정보를 혼동해서 알고 있는 경우가 많은데, 혼동하지 않도록 조심해야 합니다.

 

    데이터 분석

    - 측정 단위를 가지고 결과를 찾아내는 것을 의미합니다. 데이터를 가지고 정보를 만들어내는 과정을 이야기합니다.

 

이러한 데이터 분석을 하기 위해서 필요한 수집!!! 이 수집을 도와주는 것이 저장 매체들 입니다. 우리가 흔히 알고있는 저장매체로는 HDD, USB, SSD등 많이 있지만 DataBase 또한 이러한 저장 매체의 역할을 해줍니다.

 

그렇다면 DataBase는 다른 저장 매체들과 어떤 다른 특징을 가지고 있기에 사용하는지 알아보겠습니다.

 

1. 데이터 베이스는 정형 데이터 입니다.

- 구조화 된 테이터, 즉 미리 정해진 구조에 따라 저장된 데이터 입니다. 그래서 테이블 형태로 저장 되어 있습니다. 

(테이블 형태란ㅣ 행:열 로 구성된 형태를 말합니다.)

 

2. 조직의 여러 사용자가 공유 하여 사용할 수 있도록 통합해서 저장운영 데이터 집합입니다.

 

1) 공유 데이터

    - 여러 사용자들이 서로 다른 목적으로 사용하는 공유 가능한 데이터 입니다.

      

2) 통합 데이터

    - 데이터베이스는 똑같은 데이터가 원칙적으로 중복되어 있지 않습니다.

 

3) 저장 데이터

    - 컴퓨터 접근할 수 있는 기억장치에 저장 되며, 주로 HDD에 저장 되어 관리됩니다.

     ex) 조직운영(회사)에 필요한 데이터를 저장해 두었다가 필요할 때 유용한 정보를 만드어 주는 수단으로 사용합니다.

 

4) 운영 데이터

    - 존재목적이 면확하고 유용성을 지니고 있는 데이터로 단순히 데이터를 모아둔 개념이 아닌 여러가지 관리를 위한 데이터 구축과 같은 목적이 분명합니다.

 

3. 데이터 베이스의 차별성 및 강점

 

1) 실시간 접근성

    - 다수의 사용자의 요구에 대해서 처리 시간이 몇 초 넘기지 말야한다는 의미입니다. 인터넷 쇼핑몰의 후기가 실시간으로 올라오고 그걸 통해서 정보를 얻는 것을 볼 수 있습니다.

 

2) 지속적인 변화

    - 데이터베이스에 저장된 데이터는 지속적인 삽입, 삭제, 수정을 통해 최신의 정보가 정확하게 저장되어 처리 됩니다.

 

3) 동시 공유

    - 동일 데이터를 동시에 서로 다른 목적으로 사용할 수 있습니다.

 

4) 내용에 대한 참조

    - 데이터베이스 내에 있는 데이터 레코드들은 주소나 위치에 의해 참조 되는 것이 아닌, 가지고 있는 값(내용)에 따라 참조 합니다.

    ex) 재고량이 1,000개 이상인 제품의 이름 검색.

 

5) 보안에 강함

    - 보안에 민감한 데이터는 일부의 사람들에게만 제공이 될 수 있게 조정할 수 있습니다.

 

 

 

+ Recent posts