본문 바로가기
카테고리 없음

22-09-29 오라클 DataBase

by Hunihu 2022. 9. 29.

오라클

 

-- inline comment(한 줄 주석)
/*
 * block comment
 */
-- SQL 문장은 세미콜론(;)으로 끝남.
-- Ctrl + Enter : 커서가 있는 위치의 SQL 한 문장을 실행
-- F5: 스크립트(확장자가 sql인 파일) 실행.
-- DQL(Data Query Language): select 검색할 내용 from 테이블 이름;
-- dual: 오라클 데이터베이스에서 select 문장의 문법에 맞추기 위해서 만든 가상의 테이블 이름.

select sysdate from dual;

-- 테이블 구조를 확인하기 위한 "오라클" 명령어: describe(desc) 테이블 이름;
-- describe는 SQL 표준 문법의 명령어가 아님.

desc emp;

-- 오라클의 데이터 타입:
-- (1) number: 숫자 타입(정수, 실수)
--      사용 예: number(2) - 2자리 정수, number(7,2) - 소수점 2자리까지 표현가능한 실수.
-- (2) varchar, varchar2: 가변 길이 문자열.
--     사용 예: varchar2(10): 최대 10 bytes까지 저장할 수 있는 문자열
--     사용 예: varchar2(10 char) - 최대 10글자까지 저장할 수 있는 문자열.
-- (3) date, timestamp: 날짜와 시간

 

-- SQL 명령어는 대/소문자를 구분하지 않음.

DESCRIBE dept;
describe DEPT;
Describe dept;

-- 단, 테이블에 저장된 데이터는 대/소문자를 구분.

 

-- Alt+F10: 새 워크시트(새 SQL 스크립트 파일) 만들기.

-- DQL(Data Query Language): 데이터베이스 테이블에서 레코드들을 검색하는 명령어.
-- select 컬럼이름, ... from 테이블이름;

-- dept 테이블에서 deptno, dname 컬럼을 검색.

select deptno, dname from dept;

-- dept 테이블에서 모든 컬럼을 검색.

select deptno, dname, loc 
from dept;

-- 테이블에서 컬럼들이 정의된 순서대로 출력.

select * from dept;

-- select에서 작성한 컬럼 순서대로 출력

select deptno, loc, dname
from dept;

 

-- select 출력 결과에서 컬럼 이름에 별명(alias) 주기:
-- as 별명에서는 큰따옴표("")를 사용.

 

select deptno as "부서번호", dname as "부서이름"
from dept;

-- 별명은 원하는 컬럼에만 줄 수 있음.

select deptno, dname as "부서이름"
from dept;

-- 연결 연산자(||): 2개 의상의 컬럼을 합쳐서 하나의 컬럼으로 출력
-- SQL에서 문자열은 작은따옴표()를 사용함!

select deptno || ' ' ||dname as "부서 정보"
from dept;

-- 부서(dept) 테이블에서 부서 이름(dname)과 위치(loc)를 검색.
-- 출력 양식 예: ACCOUNTING 부서는 NEW YORK에 있습니다.

select dname || ' 부서는 ' || loc || '에 있습니다.' as "부서 위치" 
from dept;

-- 정렬해서 출력:
-- select 컬럼이름, ... from 테이블이름 order by 정렬할 컬럼 [asc/desc];
--  asc: 오름차순 정렬(ascending)
--  desc: 내림차순 정렬(descending)
--  정렬의 기본은 오름차순. asc는 생략 가능. 내림차순 정렬에서는 desc를 명시.

-- 부서 테이블의 모든 레코드를 부서번호 오름차순 출력

select deptno, dname, loc from dept order by deptno;

-- 부서 테이블의 모든 레코드를 부서번호 내림차순 출력

select * from dept order by deptno desc;

-- 직원 테이블에서 사번과 이름을 검색, 사번 오름차순 출력

select empno, ename from emp order by empno;

-- 직원 테이블에서 사번과 이름을 검색, 이름 오름차순 출력

select empno, ename from emp order by ename;