[오라클] SQL 명령어, 연산자
by 무작정 개발2022.01.21 (24일 차)
오늘부터 본격적으로 DB수업을 진행했습니다. 저희는 DB 중에 oracle DB에 대해 배웠습니다. 아래 책 사진은 학원에서
나눠준 책으로 부족한 부분은 책을 통해 공부하기로
오늘의 수업 내용
SQL이란?
먼저 SQL이란 데이터베이스(DataBase)를 구축하고 활용하기 위해 사용되는 언어이다.
SQL 명령어
DQL - 데이터 검색어(쿼리)
- SELECT : 선택
DDL - 데이터 정의어
- CREATE : 테이블 생성
- DROP : 테이블 일체 삭제
- ALTER : 테이블 변경
- RENAME : 테이블 이름 변경
- TRUNCATE : 테이블 데이터 삭제
- COMMENT : 테이블 데이터 삭제
DML - 데이터 조작어
- INSERT : 데이터 입력
- UPDATE : 데이터 업데이트
- DELETE : 데이터 삭제
- MERGE : 데이터 병합
DCL - 권한 정의어
- GRANT : 권한 부여
- REVOKE : 권한 박탈
TCL - 트랜잭션 언어
- COMMIT : 변경사항 확정
- ROLLBACK : 변경사항 취소
위의 SQL 명령어들은 매우 중요하다. SQLD 혹은 정보처리기사에 꼭 나오니 따로 정리를 할 예정입니다.
PERSONNEL 테이블
위는 PERSONNEL이라는 테이블이다. 관계형 데이터베이스는 기본적으로 데이터를 2차원 표 형태로 저장하고 관리한다.
위의 형태의 데이터 저장 공간을 테이블(table)이라 한다. 가로줄은 행(row), 세로줄은 열(column, 칼럼)이라 부른다.
(1) 첫 번째 사진처럼 PERSONNEL이라는 테이블 전체를 보고 싶으면 --> SELECT * FROM PERSONNEL;
(2) 만약에 내가 칼럼에서 원하는 부분만 보고 싶을 때는 --> SELECT PNO, PNAME, PAY, DNO FROM PERSONNEL;
입력하는 칼럼 순서가 바뀌어도 상관이 없다!
(3) 내가 만약에 PERSONNEL테이블에서 JOB이라는 칼럼만 검색하고 싶을 때 --> SELECT JOM FROM PERSONNEL;
(4) 위의 3번은 검색하면 하단 사진처럼 중복된 데이터가 존재합니다. 중복되는 데이터를 삭제하기 위해 DISTINCT 사용!
--> SELECT DISTINCT JOB FROM PERSONNEL;
정렬
먼저 ORDER BY는 사용자가 원하는 순서대로 테이블을 출력할 때 사용한다.
ORDER BY와 함께 정렬 기준이 되는 속성을 지정하고, 오름차순 정렬이면 ASC, 내림차순 정렬이면 DESC로 표현한다.
따로 정렬 방법을 지정하지 않으면 오름차순으로 기본 정렬돼서 ASC(오름차순)은 생략이 가능하다.
오름차순은 가장 작은 값을 먼저 출력하고 큰 값을 나중에 출력한다. 내림차순은 그 반대로 출력한다.
(1) PERSONNEL 테이블에서 PNO, PNAME, PAY 칼럼을 출력하는데 PAY칼럼을 오름차순으로 출력하기
(2) PERSONNEL 테이블에서 PNO, PNAME, PAY 칼럼을 출력하는데 PNAME은 정렬시켜서 출력하기
(3) PERSONNEL 테이블에서 PNO, PNAME, PAY 컬럼을 출력하는데 PAY는 내림차순 정렬 출력
(4) PERSONNEL 테이블을 출력하는데 STARTDATE 컬럼을 날짜 순(오래된 사람 순)으로 정렬하기
DQL(쿼리)는 연산 가능
AS(별칭) : SELECT절 칼럼명 뒤에 작성. AS는 생략이 가능하다.
(1) PERSONNEL 테이블에서 PNO, PNAME, PAY, 보너스를 출력하는데 보너스는 PAY +1000을 해서 출력한다.
(2) PERSONNEL 테이블에서 PNO, PNAME, PAY, 보너스를 출력하는데 보너스는 PAY +1000을 해서 출력하고 PAY는
정렬해서 출력한다.
(3) PERSONNEL 테이블에서 PNO, PNAME, 보너스(PAY+1000)를 출력하는데 보너스만 정렬해서 출력한다.
(4) PERSONNEL 테이블에서 PNO, PNAME, 보너스(PAY+1000)를 출력하는데 4번째 칼럼만 정렬해서 출력한다.
퀴즈
NULL
NULL은 어떠한 값을 연산해줘도 값은 항상 NULL이 나온다. 그래서 0과 NULL은 엄연히 다르다.
오라클에서는 작은 값에서 큰 값 순(오름차순)으로 정렬하면 NULL이 마지막으로 나온다.
NULL값 처리 방법
NVL 함수 : (NVL(BONUS, 0) -> 보너스가 있으면 더하고 없으면 0을 더해서 NULL값을 처리해준다.
연결 연산자
행 제한(조건식), WHERE절, 연산자, 논리 연산자
WHERE 절 : SELECT문으로 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력하는 데 사용
연산자
=, >, <, <=, >= 은 기존 다른 언어랑 뜻이 동일하다. <>는 같지 않다 라는 뜻
논리 연산자(AND, OR, NOT(!) )
BETWEEN 연산자
BETWEEN AND 조건절을 사용해 특정 범위를 만족하는 결과를 출력한다.
LIKE 절
쿼리문 WHERE절에 주로 사용되며 부분적으로 일치하는 칼럼을 찾을 때 사용됩니다.
SELECT * FROM [테이블명] WHERE LIKE [조건]
_ : 글자 숫자를 정해줌(EX 칼럼명 LIKE '홍_동')
% : 글자 숫자를 정해주지 않음(EX 칼럼명 LIKE '홍%')
NULL 찾는 방법
'DataBase > Oracle' 카테고리의 다른 글
SQL 연습 문제 풀이 (1) (0) | 2022.01.27 |
---|---|
[오라클] DML, TCL (0) | 2022.01.26 |
[오라클] JOIN ( EQUI JOIN, INNER JOIN, NON-EQUI JOIN, OUTER JOIN, SELF JOIN) (0) | 2022.01.25 |
[오라클] 숫자 함수, 문자 함수, 분석 함수, 그룹 함수(GROUP BY, HAVING) (0) | 2022.01.24 |
[오라클] DB 설치 및 초기 세팅 (0) | 2022.01.20 |
블로그의 정보
무작정 개발
무작정 개발