Home [데이터베이스 시스템] 5강 - SQL
Post
Cancel

[데이터베이스 시스템] 5강 - SQL

💡해당 게시글은 방송통신대학교 정재화 교수님의 '데이터베이스 시스템' 강의를 개인 공부 목적으로 메모하였습니다.



학습 개요


  • DBMS의 기능은 데이터의 저장 및 관리에 그치지 않고 사용자의 요청에 따라 데이터의 입력, 수정, 삭제 및 필요 데이터를 신속히 제공하는 것까지 포함함
  • SQL은 데이터 정의 언어를 통해 데이터를 저장하고 유지할 수 있는 데이터베이스 객체를 관리하는 기능을 제공할 뿐만 아니라 데이터 조작 언어를 통해 데이터베이스 객체에 데이터를 생성, 수정, 삭제 및 검색할 수 있는 기능을 제공 함
  • 데이터 조작 언어를 통해 데이터를 사용할 수 있는 방법과 다양한 조건을 만족하는 데이터를 검색하는 방법에 대하여 학습 함

주요 용어


  • DML
    • 정의된 테이블에 레코드를 삽입·수정·삭제 및 검색하는데 사용되는 명령어의 집합
  • SELECT
    • 셀렉션, 프로젝션, 조인, 카티션 프로덕트 연산자 등 관계 대수의 기능을 포함하고 있는 명령문
  • DISTINCT
    • SELECT 문을 통해 검색된 결과에서 특정 컬럼의 중복된 데이터를 제거하는 키워드
  • 조건 SELECT 문
    • 산술 연산 식, 함수 등을 사용하여 표현한 조건을 WHERE 절에 기술하여 조건을 만족하는 레코드만 선택적으로 검색하는 SELECT 문



강의록


데이터의 삽입

데이터 조작 언어(DML)의 개념

  • 데이터 정의 언어(DDL)로 정의된 데이터베이스 내의 데이터에 대해 여러 연산을 수행하기 위한 명령어의 집합
    • 사용자에게 데이터베이스에 저장된 데이터를 처리할 수 있게 하는 일체의 도구를 제공
    • 정의된 테이블 등에 레코드를 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 및 검색(SELECT)하는 데 사용되는 SQL 명령어들의 집합
    • 데이터 조작 언어는 실행 즉시 반영되는 영구적 변경을 위한 명령어 집합이 아니며 복구가 가능
      • DDL과의 큰 차이점

명령어의 종류

  • CRUD를 위한 SQL 명령어의 종류

    작업 (CRUD)SQL 명령어설명
    CreateINSERT테이블 스키마에 적합한 레코드를 삽입
    UpdateUPDATE테이블에서 조건을 만족하는 특정 레코드의 컬럼 값을 수정
    DeleteDELETE테이블에 조건을 만족하는 특정 레코드를 삭제
    ReadSELECT조건을 만족하는 레코드를 테이블에서 검색

INSERT 명령어

  • 테이블에 새로운 레코드(행)를 삽입하는 명령어
    • 모든 컬럼 또는 부분 컬럼에 대한 값을 입력
    • NOT NULL 제약 조건이 있는 컬럼은 반드시 컬럼 값을 입력
    • 문자와 날짜 값은 따옴표(')로 처리
  • 모든 컬럼 값 순서대로 입력

    1
    2
    
      INSERT INTO 테이블_이름
          VALUES (1, 2, ..., n);
    
    • 모든 컬럼 값에 해당하는 값들이 values() 있을 경우에 사용
    • values() 내 값들이 나열된 순서와 테이블에 정의된 컬럼 순서가 반드시 일치해야 함
  • 특정 컬럼 값 입력

    1
    2
    
      INSERT INTO 테이블_이름 (컬럼1, 컬럼2, ..., 컬럼m)
          VALUES (1, 2, ..., m);
    

INSERT 문의 사용

  • 학과이름 ‘영어영문학과’, 단과대학 ‘인문과학대학’, 주소 ‘http://eng.knou.ac.kr’, 전화번호 ‘02-3668-4510’, 졸업학점 135인 레코드를 학과 테이블에 삽입하시오

    학과이름단과대학주소전화번호졸업학점
    국어국문학과인문과학대학02-3668-4550120
    법학과사회과학대학02-3668-4590130
    생활과학과자연과학대학02-3668-4640125
    유아교육과교육학과대학02-3668-4670125
    컴퓨터학과자연과학대학02-3668-4650130
    행정학과사회과학대학02-3668-4600120
    1
    2
    
      INSERT INTO 학과
          VALUES ('영어영문학과', '인문과학대학', 'http://eng.knou.ac.kr', '02-3668-4510', 135);
    
    학과이름단과대학주소전화번호졸업학점
    국어국문학과인문과학대학02-3668-4550120
    법학과사회과학대학02-3668-4590130
    생활과학과자연과학대학02-3668-4640125
    유아교육과교육학과대학02-3668-4670125
    컴퓨터학과자연과학대학02-3668-4650130
    행정학과사회과학대학02-3668-4600120
    영어영문학과인문과학대학02-3668-4510135
  • 단과대학 ‘자연과학대학’, 학과이름 ‘농학과’, 졸업학점 140, 전화번호 ‘02-3668-4600’인 레코드를 학과 테이블에 삽입하시오

    학과이름단과대학주소전화번호졸업학점
    국어국문학과인문과학대학02-3668-4550120
    법학과사회과학대학02-3668-4590130
    생활과학과자연과학대학02-3668-4640125
    유아교육과교육학과대학02-3668-4670125
    컴퓨터학과자연과학대학02-3668-4650130
    행정학과사회과학대학02-3668-4600120
    영어영문학과인문과학대학02-3668-4510135
    1
    2
    
      INSERT INTO 학과 (단과대학, 학과이름, 졸업학점, 전화번호)
          VALUES ('자연과학대학', '농학과', 140, '02-3668-4600');
    

    | 학과이름 | 단과대학 | 주소 | 전화번호 | 졸업학점 | |—|—|—|—|—| | 국어국문학과 | 인문과학대학 | … | 02-3668-4550 | 120 | | 법학과 | 사회과학대학 | … | 02-3668-4590 | 130 | | 생활과학과 | 자연과학대학 | … | 02-3668-4640 | 125 | | 유아교육과 | 교육학과대학 | … | 02-3668-4670 | 125 | | 컴퓨터학과 | 자연과학대학 | … | 02-3668-4650 | 130 | | 행정학과 | 사회과학대학 | … | 02-3668-4600 | 120 | | 영어영문학과 | 인문과학대학 | … | 02-3668-4510 | 135 | | 농학과 | 자연과학대학 | … | 02-3668-4600 | 140 |

    • 주소 값은 null로 유지 됨

INSERT문의 활용

  • 컴퓨터 과학과 소속의 교수를 교수 테이블과 동일한 스키마를 갖는 IT 전공 교수 테이블에 삽입하시오

    • 교수

      교수번호교수이름직위소속학과연봉
      186432-760829최우성조교수생활학과52000000
      189414-790829한용운조교수법학과45000000
      191924-730620이동휘부교수행정학과51000000
      194634-810228김규식정교수컴퓨터학과70000000
      194834-760517정재화부교수컴퓨터학과53000000
    • IT전공교수

      교수번호교수이름직위소속학과연봉
      194634-810228김규식정교수컴퓨터학과70000000
      194834-760517정재화부교수컴퓨터학과53000000
    • 레코드의 값들을 다른 테이블의 레코드로 삽입 가능
    • 테이블에서 검색의 결과를 새로운 레코드로 삽입 시 사용 가능

      1
      2
      3
      4
      
        INSERT INTO 테이블이름₁ (컬럼₁, 컬럼₂, ..., 컬럼ₘ)
            SELECT 컬럼₁, 컬럼₂, ..., 컬럼ₘ
                FROM 테이블이름₂
                    WHERE 검색조건;
      
      1
      2
      3
      4
      5
      
        -- '교수' 테이블에서 '컴퓨터과학과' 소속 교수 정보를 검색하여 'IT전공교수' 테이블에 새로운 레코드로 삽입
        INSERT INTO IT전공교수 (교수번호, 교수이름, 직위, 소속학과, 연봉)
            SELECT 교수번호, 교수이름, 직위, 소속학과, 연봉
               FROM 교수
                    WHERE 소속학과 = '컴퓨터과학과';
      
  • sql도 가독성을 고려하면 좋음
  • values 뒤 값들은 콤마(,)로 구분
  • 문자는 반드시 ‘‘(따옴표) 처리 필요
  • 숫자는 int 값이므로 ‘‘(따옴표) 필요 없음

데이터의 수정과 삭제

UPDATE 명령어

  • 조건을 만족하는 레코드의 특정 컬럼 값을 수정

    1
    2
    3
    
      UPDATE 테이블_이름
          SET 컬럼₁ = 값₁[, 컬럼₂ = 값₂, ..., 컬럼ₙ = 값ₙ]
          WHERE 조건;
    
    1
    2
    3
    
      UPDATE 테이블_이름
          SET 컬럼₁ = 수식₁[, 컬럼₂ = 수식₂, ..., 컬럼ₙ = 수식ₙ]
          WHERE 조건;
    
    • WHERE 절을 사용하여 수정할 레코드를 특정
    • WHERE 절을 생략하면 테이블의 모든 레코드 값이 변경 됨
  • 특정 레코드의 컬럼 값을 삭제하려면 UPDATE 문을 사용

    • column 값을 null로 UPDATE SET

UPDATE 명령어의 사용

  • 학과 이름이 ‘농학과’인 레코드의 주소 컬럼 값을 ‘http://agri.knou.ac.kr’로 수정하시오

    학과이름단과대학주소전화번호졸업학점
    국어국문학과인문과학대학02-3668-4550120
    법학과사회과학대학02-3668-4590130
    생활과학과자연과학대학02-3668-4640125
    유아교육과교육학과대학02-3668-4670125
    컴퓨터학과자연과학대학02-3668-4650130
    행정학과사회과학대학02-3668-4600120
    영어영문학과인문과학대학02-3668-4510135
    농학과자연과학대학02-3668-4600140
    1
    2
    3
    
      UPDATE 학과
          SET 주소 = 'http://agri.knou.ac.kr'
          WHERE 학과이름 = '농학과';
    
    학과이름단과대학주소전화번호졸업학점
    국어국문학과인문과학대학02-3668-4550120
    법학과사회과학대학02-3668-4590130
    생활과학과자연과학대학02-3668-4640125
    유아교육과교육학과대학02-3668-4670125
    컴퓨터학과자연과학대학02-3668-4650130
    행정학과사회과학대학02-3668-4600120
    영어영문학과인문과학대학02-3668-4510135
    농학과자연과학대학http://agri.knou.ac.kr02-3668-4600140
  • 학과 테이블에서 ‘생활과학과’의 전화번호와 졸업학점을 ‘02-3668-4641’과 130으로 수정하시오

    학과이름단과대학주소전화번호졸업학점
    국어국문학과인문과학대학02-3668-4550120
    법학과사회과학대학02-3668-4590130
    생활과학과자연과학대학02-3668-4640125
    유아교육과교육학과대학02-3668-4670125
    컴퓨터학과자연과학대학02-3668-4650130
    행정학과사회과학대학02-3668-4600120
    영어영문학과인문과학대학02-3668-4510135
    농학과자연과학대학02-3668-4600140
    1
    2
    3
    4
    
      UPDATE 학과
          SET 전화번호 = '02-3668-4641', 졸업학점 = 130
          WHERE 학과이름 = '생활과학과'
        
    

    | 학과이름 | 단과대학 | 주소 | 전화번호 | 졸업학점 | |—|—|—|—|—| | 국어국문학과 | 인문과학대학 | … | 02-3668-4550 | 120 | | 법학과 | 사회과학대학 | … | 02-3668-4590 | 130 | | 생활과학과 | 자연과학대학 | … | 02-3668-4641 | 130 | | 유아교육과 | 교육학과대학 | … | 02-3668-4670 | 125 | | 컴퓨터학과 | 자연과학대학 | … | 02-3668-4650 | 130 | | 행정학과 | 사회과학대학 | … | 02-3668-4600 | 120 | | 영어영문학과 | 인문과학대학 | … | 02-3668-4510 | 135 | | 농학과 | 자연과학대학 | … | 02-3668-4600 | 140 |

  • 잔액이 500,000원 이상인 학생 계좌에 2% 이자를 지급하시오

    학생번호계좌번호잔액
    201831-331215123434-222222800000
    201834-021216123434-111111600000
    201978-610408123434-333333400000
    201931-781109123434-444444400000
    201926-880215123434-555555300000
    201934-790902123434-666666100000
    201934-080621123434-777777300000
    202034-596541123434-8888881200000
    202031-816515123434-999999150000
    202031-354516123435-1111111000000
    202078-080621123435-222222500000
    202026-590930123435-333333450000
    1
    2
    3
    
      UPDATE 계좌
          SET 잔액 = 잔액 + 잔액 * 0.02
          WHERE 잔액 >= 500000;
    
    학생번호계좌번호잔액
    201831-331215123434-222222816000
    201834-021216123434-111111612000
    201978-610408123434-333333400000
    201931-781109123434-444444400000
    201926-880215123434-555555300000
    201934-790902123434-666666100000
    201934-080621123434-777777300000
    202034-596541123434-8888881224000
    202031-816515123434-999999150000
    202031-354516123435-1111111020000
    202078-080621123435-222222510000
    202026-590930123435-333333450000
    • WHERE 절을 사용하지 않을 경우 테이블 내 모든 레코드의 잔액 값이 변경 됨

DELETE 문

  • 조건에 일치하는 레코드의 집합을 테이블에서 삭제할 때 사용하는 명령어

    1
    2
    
      DELETE FROM 테이블_이름
      	WHERE 조건;
    
    • WHERE 절을 사용하여 삭제할 레코드를 특정
    • WHERE 절을 생략하면 테이블의 모든 레코드가 삭제 됨
    • 정보의 삭제는 레코드 단위

DELETE 문의 사용

  • 소속학과가 ‘유아교육과’인 교수의 레코드를 삭제하라.

    1
    2
    
      DELETE FROM 교수
      	WHERE 소속학과 = '유아교육과';
    
  • 모든 강의 레코드를 삭제하시오

    1
    
      DELETE FROM 강의
    
    • 테이블 구조는 그대로 두고 데이터만 삭제 함
    • 테이블 구조까지 완전히 삭제하려면 DROP TABLE 명령어를 사용해야 함

WHERE 절 확인

  • Where 절이 없는 UPDATE 및 DELETE 문은 전체 테이블을 대상으로 실행
  • 잔액이 500,000원 이상인 학생 계좌에 2% 이자를 지급하시오

    1
    2
    3
    
      UPDATE 계좌
      	SET 잔액 = 잔액 + 잔액 * 0.02
      	WHERE 잔액 >= 500000;
    
  • 소속학과가 ‘유아교육과’인 교수의 레코드를 삭제하라.

    1
    2
    
      DELETE FROM 교수
      	WHERE 소속학과 = '유아교육과';
    

데이터의 검색

SELECT 명령어

  • DBMS의 가장 큰 기능인 저장, 관리, 검색

    image.png

  • 한 개 이상의 테이블에서 주어진 조건에 만족하는 레코드로 출력하는 명령어
    • 원하는 데이터를 검색(조회)하는 데 사용하는 가장 기본적이고 중요한 명령어
    • 이미 존재하는 데이터 값을 가져온다는 점이 특징
  • 관계 대수의 셀렉션, 프로젝션, 조인, 카티션 프로덕트 연산자의 기능을 모두 포함하는 명령문
    • 필수 절인 SELECT 절과 부가적인 목적으로 사용하는 절을 혼합하여 검색 기능을 구체화

SELECT의 구문 형식

1
2
3
4
5
6
7
8
9
10
11
12
[DISTINCT] 컬럼₁, 컬럼₂, ..., 컬럼ₙ
FROM 테이블₁ [INNER JOIN | OUTER JOIN
  테이블₂, INNER JOIN | OUTER JOIN
  ON 조인 조건식₁
  테이블₃
  ..., INNER JOIN | OUTER JOIN
  테이블ₘ
  ON 조인 조건식ₙ]
[WHERE 조건식 [중첩질의]]
[GROUP BY 컬럼₁, 컬럼₂, ..., 컬럼ᵧ
  [HAVING 조건]]
[ORDER BY 컬럼₁ [ASC | DESC], ... , 컬럼𝓏 [ASC | DESC]]
  • SELECT
    • 결과에 포함되는 컬럼을 지정
  • FROM
    • 질의를 적용할 테이블을 지정
  • ON
    • 조인 조건을 지정
  • WHERE
    • 검색 대상 레코드의 조건을 지정
  • GROUP BY
    • 레코드를 그룹화 하기 위한 그룹 조건을 지정
    • 특정 컬럼을 기준으로 그룹화 함
  • HAVING
    • GROUP BY 절이 적용된 결과에 대한 조건을 지정
  • ORDER BY
    • 검색 결과의 정렬 기준을 지정
    • 결과를 특정 컬럼 기준으로 정렬
      • ASC: 오름차순
      • DESC: 내림차순

단순 SELECT 문

  • 레코드를 제한하지 않고 전체 테이블을 검색하는 SELECT 문
    • WHERE 절이 없는 질의문
    • DISTINCT 키워드를 통해 중복 제거 가능
      • 물리적인 값으로 구성된 테이블은 추상적인 개념의 릴레이션과 달리 중복이 발생할 수도 있음
  • 특정 컬럼만 검색

    1
    2
    
      SELECT [DISTINCT] 컬럼₁, 컬럼₂, ..., 컬럼ₙ
      FROM 테이블
    
  • 모든 컬럼 검색

    1
    2
    
      SELECT *
          FROM 테이블
    

단순 SELECT 문의 사용

  • 교수 테이블에서 ‘소속학과’ 컬럼을 선택하여 출력하시오

    1
    2
    
      SELECT 소속학과
          FROM 교수
    

    | 교수번호 | 교수이름 | 직위 | 소속학과 | 연봉 | |—|—|—|—|—| | 186432-760829 | 최우성 | 조교수 | 생활학과 | 52000000 | | 189414-790829 | 한용운 | 조교수 | 법학과 | 45000000 | | 191924-730620 | 이동휘 | 부교수 | 행정학과 | 51000000 | | 194634-810228 | 김규식 | 정교수 | 컴퓨터학과 | 70000000 | | 194834-760517 | 정재화 | 부교수 | 컴퓨터학과 | 53000000 | | 201216-158465 | 정용제 | 조교수 | 국어국문학과 | 55000000 | | 201547-634895 | 현경석 | 정교수 | 생활학과 | 66000000 | | 210315-549413 | 황지수 | 부교수 | 유아교육과 | 52000000 |

    소속학과
    생활학과
    법학과
    행정학과
    컴퓨터학과
    컴퓨터학과
    국어국문학과
    생활학과
    유아교육과
    1
    2
    
      SELECT DISTINCT 소속학과
          FROM 교수
    
    소속학과
    생활학과
    법학과
    행정학과
    컴퓨터학과
    국어국문학과
    유아교육과

조건 SELECT 문

  • 산술 연산식, 함수 등을 사용하여 표현한 조건을 WHERE 절에 기술하여 조건을 만족하는 레코드만 선택적으로 검색하는 SELECT
    • 산술 연산자
    • 비교 연산자
    • 논리 연산자
  • WHERE 절은 UPDATE, DELETE 문 등 조건을 기술하여 선택적으로 레코드에 적용하는 명령문에서 동일하게 사용

조건 표현 연산자

  • 산술 연산자
    • 컬럼값 또는 상수와의 산술 연산을 위한 연산자
    • DIV, /, -, MOD(%), +, *
  • 비교 연산자
    • 컬럼 값과 상수의 크기를 비교하는 연산자
    • =, <>, (!=), >, >=, <, <=
  • 논리 연산자
    • 두 개 이상의 조건이 기술되는 질의 문에서 조건 식 간의 관계를 정의하는 연산자
    • AND, OR, NOT

조건 SELECT 문의 사용

  • 이수구분 ‘전공필수’인 과목의 과목명, 학점, 선수과목을 출력하시오

    1
    2
    
      SELECT 과목명, 학점, 선수과목 FROM 과목
      	WHERE 이수구분 = '전공필수'
    
    1. 이수 구분이 전공필수 인 조건을 어떻게 표시할지
    2. 세 컬럼들만 표시하려면 어떻게 명시 해야 할지
  • 남학생 중 2000년 이전에 태어난 학생의 학생번호, 학생이름, 성별, 나이, 전화번호를 출력하시오

    학생번호학생이름성별생년월일나이전화번호
    201831-331215김마리아1991-06-1829010-0000-0002
    201834-021216유관순1902-12-16118010-0000-0001
    201926-880215지청천1988-02-1532010-0000-0005
    201931-781109안창호1978-11-0942010-0000-0004
    201934-080621박은식1959-09-3061010-0000-0007
    201934-790902안중근1979-09-0241010-0000-0006
    1
    2
    
      SELECT 학생번호, 학생이름, 성별, 나이, 전화번호 FROM 학생
      	WHERE 성별 = '남' AND 생년월일 < '2000-1-1'
    
    학생번호학생이름성별나이전화번호
    201931-781109안창호42010-0000-0004
    201934-790902안중근41010-0000-0006
    201978-610408손병희59010-0000-0003
    202031-816515윤봉길112010-0000-0009
    202078-080621강신영29010-0000-0011



연습 문제


  1. 다음과 같은 구조의 고객 테이블에 고객번호 ‘C540’, 연락처 ‘1234’, 직장주소 ‘서울시 종로구’, 고객이름 ‘홍길동’인 새로운 고객 레코드를 삽입하는 INSERT 문으로 올바른 것은? (단, 입력하는 값의 순서는 변경하지 않는다.)
    • 고객

      | 고객번호(PK) | 고객이름 | 직장주소 | 연락처 | |—|—|—|—|

    a. INSERT INTO 고객(고객번호, 연락처, 직장주소, 고객이름) VALUES ('C540', '1234', '서울시 종로구', '홍길동')

    • 새로운 레코드 삽입은 INSERT INTO 문을 사용하며, 부분 컬럼에 대한 컬럼 값을 삽입하거나 테이블의 컬럼 순서와 다른 순서로 컬럼 값을 삽입하는 경우, 테이블 이름에 컬럼 값에 해당하는 컬럼 이름을 병기 해야 함
  2. 다음 SQL 구문의 (      )안에 필요한 단어는?

    1
    2
    3
    
      UPDATE 테이블 이름     
       (      ) 필드 =  [,필드 = ]....         
      [WHERE 술어];
    

    a. SET

    • UPDATE문은 테이블 내에 특정 조건을 만족하는 레코드의 값을 변경하는 명령문으로, UPDATE 테이블 이름 SET 필드 및 값 리스트 WHERE 조건 형식을 따름
  3. 다음 SQL 구문에서 (      )안에 알맞은 것은?

    1
    2
    3
    
      DELETE         
      (     ) 테이블   
      [WHERE 조건];
    

    a. FROM

    • DELETE 문은 FROM 절에 기술된 테이블에 포함된 레코드를 WHERE절에서 기술되는 조건에 따라 삭제하는 명령을 수행 함
  4. 다음의 고객 테이블에서 아래의 SQL의 실행 결과로 올바른 것은?

    • 고객

      고객번호(PK)고객이름직장주소연락처
      C540홍길동서울시 종로구1234
      C101김영희서울시 종로구5678
      C211신채호광주시 광산구1111
      C343이희영부산시 북구2222
    1
    
     SELECT DISTINCT 직장 주소 FROM 고객
    

    a.

    직장주소
    서울시 종로구
    광주시 광산구
    부산시 북구
    • SELECT 절은 출력될 컬럼을 결정하며, DISTINCT 키워드가 적용되면 중복된 컬럼 값은 제거되어 출력 됨



정리 하기


  • 데이터 조작 언어에는 INSERT, UPDATE, DELETE, SELECT 명령어가 포함 됨
    • 각각의 명령어는 테이블에 새로운 레코드를 삽입, 수정, 삭제 및 검색하는 기능을 수행 함
  • INSERT 문은 테이블의 스키마에 맞춰 일부 또는 전체 컬럼을 대상으로 데이터를 삽입하는 명령문 임
  • UPDATEWHERE 절에 기술되는 조건을 만족하는 레코드를 대상으로 SET 절을 사용하여 특정 컬럼의 값을 수정하는 명령어 임
  • DELETEWHERE 절에 기술되는 조건을 만족하는 레코드를 삭제 함
    • 레코드 삭제로 테이블의 제약 조건이 위배되는 경우 DELETE 명령은 거부 됨
  • SELECT 문은 테이블에서 다양한 형태로 데이터를 검색하기 위해 사용 됨
    • WHERE 절에 산술, 비교, 논리 연산자를 사용하여 검색 조건을 기술하고 조건을 만족하는 레코드를 선택할 수 있음
  • 단순 질의 문은 레코드를 제한하지 않고 전체 또는 일부 컬럼을 테이블에서 검색하는 SELECT 문으로 WHERE 절이 없는 질의 문 임
  • 조건 질의 문은 산술 연산 식, 함수 등을 사용하여 표현한 조건을 WHERE 절에 기술하여 조건을 만족하는 레코드만 검색하는 SELECT 문임



체크 포인트


  1. SQL의 논리 연산자가 아닌 것은?

    a. XOR

    • SQL의 논리 연산자
      • 어떤 조건과 다른 조건을 결합할 때 어떤 방식으로 결합할 지에 대한 연산자
      • AND
      • OR
      • NOT
  2. 다음 SQL 문에서 빈칸에 들어갈 내용으로 옳은 것은?

    1
    2
    3
    
     UPDATE 교수
     	( ) 직위 = '정교수'
     WHERE 교수번호  = '194834-760517'
    

    a. SET

[파이썬 프로그래밍 기초] 5강 - 순차 구조

[파이썬 프로그래밍 기초] 6강 - 선택 구조