본문 바로가기
Web & Mobile/SQL

Lecture 11 - SQL(1)

by Bennyziio 2019. 4. 14.
반응형

데이터베이스 설치
cmd 마우스 오른쪽 관리자권한 실행
net user, net user oracle 123456
c드라이브 -> app -> oracle -> oradata -> orcl 삭제

C:\app\oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN
listener.ora 마우스 오른쪽 실행 메모장으로 실행

리스너 밑에 삭제후 저장

시작 oracle database Configuration Assitant 마우스오른쪽 관리자 실행, 고급모드, 다음, 전역데이터베이스이름 orcl, 다음, 다음, 
모든계정 동일한 관리비밀번호사용 123456 (3번), 새리스너생성 (Listener, 1521), 복구영영지정 해제, 샘플스키마, 문자집합 유니코드사용, 다음, 완료, 
비밀번호관리, scott (tiger,tiger), HR(hr,hr)비밀번호 설정, 확인

데이터베이스
    데이터를 관리하는 프로그램
    1. 관리 프로그램(DBMS : DataBase Management System)
    2. 데이터 저장 구조
        - 어떤 형식(엑셀형식 - 행 : 데이터, 열 : 데이터구분)
            - sheet        - table            : 데이터그룹
            - row          - row              : 데이터
            - cell           - column         : 데이터구분자
            => 정형데이터(구분자(column)를 통해서 데이터 입력 <-> 비정형데이터(no sql로 표현)
        - 데이터베이스를 다루는 언어 : SQL(Structured Query Language)

    DQL - select(*) 데이터를 분석하려면 선택하여 가져오기 때문에 제일 많이 사용됨. 가장 복잡함, 가장중요함
    DML - insert
           - delete
           - merge
    DDL - create
           - alter
           - drop
           - rename
           - truncate
           - comment

    데이터베이스 프로그램 제작업체
        - Oracle에서 만든 프로그램 oracle(중대형)
        - Oracle에서 만든 프로그램 MySQL(중소형)
        - IBM에서 만든 프로그램 DB2
        - MS에서 만든 프로그램 MSSQL(중대형)
        
- SQLite(소형 : 스마트폰 내장)
    => SQL(ANSI 표준화) : American National Standards Institute(미국 공업규격)
        + 알파

데이터베이스 관리 프로그램(서버) - 직접적으로 눈으로 볼수 없음. 동작만 있음

늘 켜져 있어야함

SQL - 다양한 프로그램(접속프로그램=클라이언트)
    SQL PLUS(cui-text)
    SQL Developer(gui-img)

SQL PLUS 실행

비밀번호 : tiger

SQL Developer

오라클 데이터베이스 서버
1. 오라클 데이터베이스 클라이언트
    SQL PLUS(중심적으로)
    SQL Developer

SQL PLUS 접속방법
1. sqlplus 사용자아이디/[비밀번호]
2. sqlplus / nolog
    connect 사용자아이디 / 비밀번호(conn만 써도 가능)
* 사용자 영역(schema)으로 로그인
-> 스키마안에 자기소속의 table 기타속성이 있음.

3. select * from tab;
    dept
    emp
    salgrade
    bonus

select 컬럼명 ...
from table명

// 대소문자 구별이 없음
select *
from dept;

describe

deiscribe는 내가 원하는 것을 출력할 때

select * from dept

select deptno, loc

+10씩 증가할때 두가지 방법으로

급여를 1.1프로 상승할 때

NULL 값은 산술연산이 안됨.
NULL은 0(zero) 공백과는 다르다.

1500 + 0 = 1500 -> 0과 null 값은 제외되고 산술된다

컬럼명에 별칭 

사번과 사 번중 사 번은 공백이 있어 오류가 나타남 "사 번"으로 나타내어 이용 (as는 없어도 가능)

컬럼명에 별칭 사용

연결 연산자

분리되어 있는 사원이름과 사원직책을 결합할때 || 사용

리터럴

as는 별칭작성할때 사용

distinct를 이용한 중복 데이터 제거

page.15 복습 예제

SQL developer에서 local 실행후 워크시트에서 질의 작성

where 및 order by

select
    projection(컬럼단위 선택)
    selection(행단위 선택 - 필터) 사용자가 원하는 필요한 행만 볼때

where을 이용하여 20부서에 해당하는 값만 출력

where을 이용하여 30부서에 해당하는 값만 출력

17p 예제

조건에 문자열을 해당할때는 대소문자 구별을 해야된다, 대소문자 구별이 안될경우 '선택된 레코드가 없습니다'라는 문구창이 뜬다

날짜도 문자열로 구분이 된다, 즉 ''를 이용해야한다

21p 예제 논리연산자 사원테이블에서 업무가 'SALESMAN'이고, 급여가 1500이상인 사원을 검색

예제 ) 급여가 1000에서 2000인 사원에 대한 사원번호, 사원명, 급여를 출력

연산자 <=, >= 말고 between A and B 사용해도 됨

예제) 사원번호 7876, 7844, 7839인 사원에 대한 정보를 사원번호, 사원명, 직책 출력

in (#A, #B, #C)를 이용하여 리턴

Like 연산자
like 'a%' - 맨앞에 a는 고정이고, 뒤에는 모든게 와도 가능
like '%a' - 맨뒤에 a는 고정이고, 앞에는 모든게 와도 가능
like 'a%a' - 맨앞과 맨뒤 a는 고정이고, 그 가운데에는 모든게 와도 가능
like 'a_' - 맨앞에 a는 고정이고, 뒤에는 한글자만 가능

ex) 사원명이 A로 시작하는 사원에 대한 사원번호, 사원명, 직책을 출력

ex) 사원명이 T로 들어가는 사원에 대한 사원번호, 사원명, 직책을 출력

ex) 사원명이 4자인 사원에 대한 사원번호, 사원명, 직책을 출력

ex) 사원명에서 두번째 글자가 L인 사원에 대한 사원번호, 사원명, 직책을 출력

NULL

조건문에 where comm is 가 없으면 오류 발생

null이 있는 값만 출력

null이 없는 값만 출력

Order by 정렬 연산자

오름차순 asc

내림차순 desc

ex) 30번의 부서의 사원번호, 사원명, 직책을 출력하는 사원명을 오름차순으로 출력하시오

10부서의 오름차순, 20부서의 오름차순, 30부서의 오름차순 순으로 나열

annual 대신 컬럼순번인 4를 대신 사용할 수 있다

ex) 사원 테이블에서 연봉(sal*12)이 35000 이상인 사번, 사원명, 연봉을 검색하시오

복습 
1. 사원 테이블에서 입사일이 81년도인 직원의 사번, 사원명, 입사일, 업무, 급여를 검색하시오.

2. 사원 테이블에서 입사일이 81년이고 업무가 'SALESMAN'이 아닌 직원의 사번, 사원명, 입사일, 업무, 급여를 검색하시오

3. 사원 테이블의 사번, 사원명, 입사일, 업무, 급여를 급여가 높은 순으로 정렬하고, 급여가 같으면 입사일이 빠른 사원으로 정렬하시오.

4. 사원 테이블에서 사원명의 세 번째 알파벳이 'N'인 사원의 사번, 사원명을 검색하시오

5. 사원 테이블에서 연봉(SAL & 12)이 35000 이상인 사번, 사원명, 연봉을 검색하시오

 

반응형

'Web & Mobile > SQL' 카테고리의 다른 글

Lecture 16 - SQL(6)  (0) 2019.04.17
Lecture 15 - SQL(5)  (0) 2019.04.15
Lecture 14 - SQL(4)  (0) 2019.04.15
Lecture 13 - SQL(3)  (0) 2019.04.15
Lecture 12 - SQL(2)  (0) 2019.04.14

댓글