SQL 기본_SELECT문

sz L·2023년 2월 28일

데이터베이스

목록 보기
5/11
post-thumbnail

SQL의 분류

  • DML : Data Manipulation Language - 데이터 조작어
    DML은 데이터베이스 내부 데이터를 관리하기 위한 언어입니다.
    데이터를 조회, 추가, 변경, 삭제 등의 작업을 수행하기 위해 사용됩니다.
    DML은 DDL과 달리, AUTO COMMIT 되지 않습니다.
    다시 말해, DML에 의한 데이터 변동은 영구적인 변경이 아니므로, ROLLBACK 처리가 가능합니다.
    (DDL은 ROLLBACK이 불가능합니다.)
    SQL문 중에 SELECT, INSERT, UPDATE, DELETE가 이 구문에 해당한다

  • DDL : Data Definition Language - 데이터 정의어
    데이터베이스 스키마를 정의하거나 조작하기 위한 언어
    생성, 수정, 삭제 등의 데이터 전체 골격을 결정하는 역할을 담당
    DDL의 대상은 SCHEMA, DOMAIN, TABLE, VIEW, INDEX 등이 있다.

  • DCL : Data Control Language - 데이터 제어어
    데이터베이스에 접근하거나 객체에 권한을 주는등의 역할을 하는 언어
    grant : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여
    revoke : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈, 회수
    commit : 트랜잭션의 작업을 저장
    rollback : 트랜잭션의 작업을 취소, 원래대로 복구


SELECT문

  • <SELECT ... FROM>

    원하는 데이터를 가져와 주는 기본적인 구문
  SELECT 열 이름
  FROM 테이블 이름
  WHERE 조건  

  • <SELECT ... FROM ... WHERE>

    특정한 조건의 데이터만 조회하는 구문
  SELECT 필드이름 FROM 테이블 이름 WHERE 조건식;

  • USE

    현재 사용하는 데이터베이스를 지정 또는 변경하는 구문
    set as default schema와 같음
  USE 데이터베이스 이름;
  -- 모든 쿼리는 데이터베이스 이름에서 수행하라   
  • 관계연산자

    조건을 추가하려면 AND를 이용하면 된다

  • BETWEEN ... AND와 IN() 그리고 LIKE





  • ANY/ALL/SOME, 서브쿼리(SubQuery, 하위쿼리)

    쿼리문 안에 또 쿼리문이 들어 있는 것


이 테이블에서 김경호보다 키 큰 사람을 뽑아내고 싶다면

  • 가상테이블

  • 컬럼에 쓰는 서브쿼리

  • ORDER BY : default ASC

    내림차순은 DESC 마지막에 적어주면 됨

  • 중복제거 : DISTINCT

  • 갯수 제한 : LIMIT

  • 조회화면서 새로운 테이블 생성 : CREATE TABLE ... SELECT ... FROM ...

    PK와 FK같은 제약조건은 복사되지 않음


  • GROUP BY절

    중복된 값은 하나로 묶어준다



  • HAVING

  • ROLLUP


profile
가랑비는 맞는다 하지만 폭풍은 내 것이야

0개의 댓글