DBMS - 쿼리

박종휘·2022년 9월 6일
0

DBMS - 국비

목록 보기
3/7
post-thumbnail

데이터베이스에서는 '코드' 라 하지 않고 '쿼리' 라고 한다.

❓ 쿼리 (Query) 란?

  • 데이터베이스나 파일의 내용 중 원하는 내용을 검색하기 위하여 몇 개의 코드(code)나 키(Key)를 기초로 질의하는 것
    (데이터베이스에 정보를 요청하는 것)
    • 웹 서버에 특정한 정보를 보여달라는 웹 클라이언트 요청 (주로 문자열을 기반으로 함) 에 의한 처리이다.
  • 데이터베이스로부터 특정한 주제어나 어귀를 찾기 위해 사용

👨‍💻 CRUD (Create, Retrieve, Update, Delete)

  • SELECT (정보 조회)

    SELECT 	속성 이름
     FROM 		테이블 이름
     WHERE		검색 조건
     AND		검색 조건
     ;
    • tab이라는 테이블에서 tname 컬럼 조회
      SELECT TNAME
       FROM TAB;
       -- 조회는 ctrl + enter
    • employees 테이블의 모든 항목 조회
      SELECT *
       FROM EMPLOYEES
       ;
    • employees 테이블에서 last_name 컬럼 값이 Austin인 사람 조회
      SELECT *
       FROM EMPLOYEES
       WHERE LAST_NAME = 'Austin'
       ;
    • employees 테이블에서 department_id가
      이고, manager_id가 102인 사람 조회
      SELECT *
       FROM EMPLOYEES
       WHERE EMPARTMENT_ID = 60
       AND MANAGER_ID = 102
       ;
    • employees 테이블에서 last_name이 Smith인 사람의 employee_id와, last_name 조회
      SELECT EMPLOYEE_ID, LAST_NAME
       FROM EMPLOYEES
       WHERE LAST_NAME = 'Smith'
       ;
    • employees 테이블에서 department_id가 100이고 job_id가 FI_MGR인 사람 조회
      SELECT *
       FROM EMPLOYEES
       WHERE DEPARTMENT_ID = 100
       AND JOB_ID = 'FI_MGR'
       ;

  • 별칭 (AS, 알리아스)

SELECT EMPLOYEE_ID AS "ID", SALARY "SAL", DEPARTMENT_ID DE
-- AS 생략 가능
-- 쌍따옴표를 안해도 된다.
FROM EMPLOYEEES e
;

  • 함수

    • distinct : 중복제거
      SELECT DISTINCT JOB_ID
       FROM EMPLOYEES e
       ;

  • 비교

    • ' >= ', ' > ', ' <= ', ' < '
      SELECT FIRST_NAME, LAST_NAME, SALARY
       FROM EMPLOYEES e
       WHERE SALARY >= 5000
       ;
       
       ---------------------------------------
       
       SELECT * 
       FROM EMPLOYEES e
       WHERE SALARY < 2500
       ;
       
       ---------------------------------------
       
       -- salary 4000 ~ 8000, first_name, last_name, salary
       SELECT FIRST_NAME , LAST_NAME , SALARY 
       FROM EMPLOYEES e 
       WHERE SALARY >= 4000
       AND  SALARY <= 8000
       ;

  • or

SELECT *
FROM EMPLOYEES e
WHERE DEPARTMENT_ID = 50
OR MANAGER_ID = 100
;

  • not
    • 기본
    SELECT *
     FROM EMPLOYEES e
     WHERE NOT(DEPARTMENT_ID = 50)
     ;
    • <>
    SELECT *
     FROM EMPLOYEES e
     WHERE DEPARTMENT_ID <> 50
    • !=
    SELECT *
     FROM EMPLOYEES e
     WHERE DEPARTMENT_ID != 50
    ;
    -> 전부다 EMPLOYEES 테이블에서 DEPARTMENT_ID 컬럼 값이 50이 아닌 것을 조회

📚 Reference

profile
개린이의 개발 고수되기 작전!

0개의 댓글