정보처리기사 실기 SQL 요약

SH·2023년 10월 3일
0

자격증

목록 보기
4/5

SQL 은 SQLD시험에 비해 난이도가 어렵지않음. 손코딩이기 때문에 작성하는 문법만 암기하면 됨.

  1. DDL (Data Definition Language): 데이터 구조와 관련된 작업을 수행합니다.
    • CREATE: 테이블, 인덱스 등을 생성합니다.
      CREATE TABLE users (
          id INT PRIMARY KEY,
          name VARCHAR(50),
          age INT
      );
    • ALTER: 테이블 구조를 변경합니다.
      1. 열 추가

        • 테이블에 새로운 열(column)을 추가합니다.
        ALTER TABLE 테이블명 ADD 열명 데이터타입;

        예:

        ALTER TABLE employees ADD email VARCHAR(255);
      2. 열 삭제

        • 테이블에서 열을 삭제합니다.
        ALTER TABLE 테이블명 DROP COLUMN 열명;

        예:

        ALTER TABLE employees DROP COLUMN email;
      3. 열의 데이터타입 변경

        • 기존 열의 데이터타입을 변경합니다.
        ALTER TABLE 테이블명 MODIFY 열명 새데이터타입;

        예:

        ALTER TABLE employees MODIFY name TEXT;
      4. 열 이름 변경

        • 열의 이름을 변경합니다.
        ALTER TABLE 테이블명 RENAME COLUMN 기존열명 TO 새열명;

        예:

        ALTER TABLE employees RENAME COLUMN firstname TO first_name;
        
      5. 테이블 이름 변경

        • 테이블의 이름을 변경합니다.
        ALTER TABLE 기존테이블명 RENAME TO 새테이블명;
      6. PRIMARY KEY 및 FOREIGN KEY 추가/삭제

        • 제약 조건을 추가하거나 삭제합니다.
        ALTER TABLE 테이블명 ADD PRIMARY KEY (열명);
        ALTER TABLE 테이블명 ADD FOREIGN KEY (열명) REFERENCES 다른테이블(열명);
        ALTER TABLE 테이블명 DROP PRIMARY KEY;
        ALTER TABLE 테이블명 DROP FOREIGN KEY 제약조건명;
        
    • DROP: 테이블, 인덱스 등을 삭제합니다.
      DROP TABLE users;
  2. DML (Data Manipulation Language): 데이터 자체와 관련된 작업을 수행합니다.
    • SELECT: 데이터를 조회합니다.
      SELECT name, age FROM users WHERE age > 20;
    • INSERT: 데이터를 삽입합니다.
      INSERT INTO users (id, name, age) VALUES (1, 'John', 25);
    • UPDATE: 데이터를 수정합니다.
      UPDATE users SET age = 26 WHERE name = 'John';
    • DELETE: 데이터를 삭제합니다.
      DELETE FROM users WHERE name = 'John';
  3. DCL (Data Control Language): 데이터 접근과 관련된 작업을 수행합니다.
    • GRANT: 사용자에게 권한을 부여합니다.
      GRANT SELECT ON employees TO user1;
    • REVOKE: 사용자로부터 권한을 회수합니다.
      REVOKE SELECT ON employees FROM user1;
  4. TCL (Transaction Control Language): 트랜잭션 관리와 관련된 작업을 수행합니다.
    • COMMIT: 변경 사항을 데이터베이스에 저장합니다.
    • ROLLBACK: 이전 상태로 되돌립니다.
    • SAVEPOINT: 특정 지점을 설정하여 이후에 해당 지점으로 되돌릴 수 있습니다.
  5. JOIN
  • 데이터베이스의 두 테이블 이상을 연결하여 하나의 결과 집합으로 반환합니다.
  • 예: employees와 departments 두 테이블을 JOIN하여 직원 이름과 그 직원이 속한 부서 이름을 함께 조회합니다.
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
  1. NULL 연산
  • IS NULL: 값이 NULL인 데이터를 확인합니다.
    SELECT name FROM employees WHERE email IS NULL;
  • IS NOT NULL: 값이 NULL이 아닌 데이터를 확인합니다.
    SELECT name FROM employees WHERE email IS NOT NULL;
  1. DISTINCT, UNIQUE, ALL
    • DISTINCT: 중복 값을 제거하고 결과를 반환합니다.
      SELECT DISTINCT department_id FROM employees;
    • UNIQUE: 테이블의 열(column)에서 중복된 값을 허용하지 않도록 할 때 사용합니다. 주로 테이블 생성(CREATE) 또는 수정(ALTER) 시에 사용됩니다.
    • ALL: 모든 결과를 반환하며, 중복값도 포함합니다. 일반적으로 다른 연산자와 함께 사용됩니다.
  2. UNION vs UNION ALL
    • UNION: 둘 이상의 SELECT 문의 결과를 합쳐 하나의 결과 집합으로 반환합니다. 중복된 값은 제거됩니다.
      SELECT name FROM employees WHERE department_id = 1
      UNION
      SELECT name FROM employees WHERE department_id = 2;
    • UNION ALL: UNION과 유사하지만, 중복된 값도 결과에 포함시킵니다.

0개의 댓글