1. 테이블 생성(CREATE TABLE) 및 데이터 입력(INSERT)
CREATE TABLE emp_table
( emp_id NUMBER NOT NULL,
emp_name VARCHAR2(100) NOT NULL,
gender VARCHAR2(10) NULL,
age NUMBER NULL,
hire_date DATE NULL,
etc VARCHAR2(300) NULL,
PRIMARY KEY (emp_id) );
INSERT INTO 테이블 명
VALUES (값1, 값2, ...);
INSERT INTO emp_table (emp_id, emp_name, gender, age, hire_date)
VALUES (1, '홍길동', '남성', 33, '2018-01-01');
INSERT INTO emp_table (emp_id, emp_name, gender, age, hire_date)
VALUES (2, '김유신', '남성', 44, '2018-02-01');
INSERT INTO emp_table (emp_id, emp_name, gender, age, hire_date)
VALUES (3, '강감찬', '남성', 55, '2018-03-01');
INSERT INTO emp_table (emp_id, emp_name, gender, age, hire_date)
VALUES (4, '신사임당', '여성', 66, '2018-04-01');
COMMIT;
2. 데이터 조회 (SELECT)
SELECT 컬럼1, 컬럼2, ...
FROM 테이블명
WHERE 조건
ORDER BY 정렬순서(ASC(기본 오름차순), DESC);
SELECT * -- 테이블 확인
FROM emp_table;
3. 조건에 맞는 데이터 조회하기 (WHERE, LIKE, IN, BETWEEN)
조건 연산자
- =, !=, >, <, >=, <= (문자형-문자형, 숫자형-숫자형과 같은 형끼리만 연산 가능)
- AND, OR
예시: 잠실역에서 7시나 9시에 승하차한 건을 조회
SELECT *
FROM subway_statistics
WHERE station_name = '잠실(216)'
AND (boarding_time = 7 OR boarding_time = 9);
LIKE 연산자
: '~와 같다' 라는 의미가 있음, 특정 단어를 포함한 컬럼값을 조회할 때 사용.
SELECT *
FROM subway_statistics
WHERE station_name LIKE '잠실%'; -- '잠실'로 시작하는 단어를 조회
SELECT *
FROM subway_statistics
WHERE station_name LIKE '잠실(%'; -- 정확히 '잠실'만 찾음
IN 연산자
: OR와 같은 기능을 함.
SELECT *
FROM subway_statistics
WHERE station_name = '잠실(216)'
AND boarding_time IN (7, 9);
-- IN연산자는 검색할 값을 괄호로 묶어 콤마로 구분한다.
BETWEEN 연산자
: 이상과 이하의 값을 조회할 때 사용(단, 초과 미만은 <, > 사용)
SELECT *
FROM subway_statistics
WHERE station_name LIKE '잠실%'
AND passanger_number BETWEEN 500 AND 1000;
4. 데이터 정렬하기 (ORDER BY)
오름차순 (ASC, 생략가능), 내림차순(DESC)
SELECT *
FROM subway_statistics
ORDER BY station_name; -- 가나다 순 정렬 됨.
SELECT *
FROM subway_statistics
WHERE station_name LIKE '잠실%'
ORDER BY 1, 2, 3, 4, 5, 6; -- 1번 컬럼, 즉 seq_id 오름차순 정렬.
가장 먼저 명시한 컬럼 우선순위.
여기서 첫번째 컬럼이 키값이 아니고
중복 값이 존재한다면 ORDER BY 절에
두번째로 명시한 2번 컬럼 기준으로 정렬됨.
여기선 사실 ORDER BY 1로 명시해도
같은 결과를 얻을 수 있음.
'프로그래밍 언어 > SQL' 카테고리의 다른 글
[SQL] 스칼라 함수 (0) | 2023.12.21 |
---|---|
[SQL] 데이터베이스, 테이블 생성하기 (0) | 2023.12.21 |
[SQL] 키(슈퍼키,대체키,후보키,기본키,외래키) (0) | 2022.07.11 |
[SQL] DDL, DML, DCL 이란? (0) | 2022.07.09 |
[SQL] 중첩 트리거 (Nested Trigger) (0) | 2022.06.12 |