TIL

230215 [SQL] (데이터 조회 명령어)

하차모 2023. 2. 15. 17:20

1. 데이터베이스

데이터베이스(DB) : oracle, mysql, mssql, mariadb...

  수많은 데이터를 다루는 기술, 데이터가 표처럼 들어감

데이터베이스 관리 프로그램(DBMS) : sql developer, toad...

 

제목 : 열, column, 속성, attribute

내용 : 행, 레코드, 튜플

전체 데이터 : 표, 테이블, 스키마

 

데이터를 다루는 명령어 : SQL(Structured Query Language) -> 쿼리
  1. DDL(Data Definition Language) : 데이터 정의어
  2. DML(Data Manipulation Language) : 데이터 조작어
  3. DCL(Data Control Language) : 데이터 제어어

 

1-1. 데이터 조회 명령어

  기본 조회 문법 : SELECT 컬럼명들 FROM 테이블명;

-- EMP 테이블에 속한 모든 사원의 이름을 조회
SELECT ENAME FROM EMP;

-- EMP 테이블에 속한 모든 사원의 사번, 이름을 조회
SELECT EMPNO, ENAME FROM EMP;

-- EMP 테이블에 속한 모든 사원의 모든 정보를 조회
SELECT * FROM EMP;

-- 테이블의 컬럼 정보를 확인하는 쿼리
DESC EMP;

 

  특정 조건을 만족하는 데이터를 조회하는 문법 : SELECT 컬럼명들 FROM 테이블명 WHERE 조건들;

-- 급여가 500 이상인 사원들의 사번, 이름, 급여 조회
SELECT EMPNO, ENAME, SAL 
FROM EMP 
WHERE SAL <= 500;

-- 사원명이 오지호인 사원의 사번, 이름, 부서번호, 입사일 조회
SELECT EMPNO, ENAME, DEPTNO, HIREDATE 
FROM EMP
WHERE ENAME = '오지호';

  WHERE절에 조건이 여러 개일 때 -> AND, OR

  비교 연산자 -> >, <, >=, <=, =, !=, <>, IS NULL, IS NOT NULL

-- COMM이 NULL인 사원의 모든 정보 조회
SELECT *
FROM EMP
WHERE COMM IS NULL;

 

+) 특정 숫자 사이에 있는 데이터를 조회하는 조건을 걸 때 '컬럼명 BETWEEN A AND B'를 써도 되지만, 속도가 느리기 때문에 컬럼명을 두 번 써서, 'A > 컬럼명 AND B < 컬럼명' 이라고 쓰는 것이 좋다.

-- 급여가 400 이상 700 이하인 사원 중 인센티브를 받는 사원의 이름, 급여, COMM 조회
SELECT ENAME, SAL, COMM
FROM EMP
WHERE SAL >= 400 AND SAL <= 700
AND COMM IS NOT NULL;
-- BETWEEN으로
SELECT ENAME, SAL, COMM
FROM EMP
WHERE SAL BETWEEN 400 AND 700
AND COMM IS NOT NULL;