익명 사용자
로그인하지 않음
계정 만들기
로그인
youngwiki
검색
SQL 문서 원본 보기
youngwiki
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
원본 보기
역사
←
SQL
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
상위 문서: [[데이터베이스 시스템]] ==개요== '''SQL'''(Stuctured Query Language)은 가장 널리 자용되는 데이터베이스 질의(query) 언어이다. SQL은 SQL query language라고 많이 불리지만, 단순히 데이터베이스의 질의를 하는 것 이상의 일, 데이터의 구조를 정의하고, 데이터베이스의 데이터를 수정하며, 보안 제약 조건을 명시할 수 있다. ==SQL의 구성== SQL은 아래와 같은 여러 부분으로 구성된다: * DDL(Data Definition Language): SQL DDL은 관계 스키마를 정의하고, 관계를 삭제하며, 관계 스키마를 수정하는 명령어들을 제공한다. * DML(Data Manipulation Language): SQL DML은 데이터베이스에서 정보를 질의하고, 튜플을 삽입하고, 삭제하고, 수정하는 기능을 제공한다. * 무결성(Integrity): SQL DDL에는 데이터베이스에 저장된 데이터가 반드시 만족해야 하는 무결성 제약 조건을 명시하는 명령어가 포함되어 있다. * View definition: SQL DDL에는 뷰를 정의하는 명령어가 포함되어있다. * Transaction protocol: SQL은 transaction의 시작점과 종료점을 지정하는 명령어들을 포함한다. * Embedded SQL and dynamic SQL: 임베디드 SQL과 동적 SQL은 SQL 문장이 C, C++, Java와 같은 범용 프로그래밍 언어 안에 어떻게 포함되는지를 정의한다. * 권한 부여(Authorization): SQL DDL은 관계와 뷰에 대한 접근 권한을 명시하는 명령어들을 포함한다. ==[[SQL data definition]]== 자세한 내용은 [[SQL data definition]] 문서를 참조하십시오. ==[[Structure of SQL Queries]]== 자세한 내용은 [[Structure of SQL Queries]] 문서를 참조하십시오. ==[[Additional Operation]]== 자세한 내용은 [[Additional Operation]] 문서를 참조하십시오. ==Set Operation== SQL은 '''union''', '''intersect''', 그리고 '''except''' 연산자는 릴레이션에 대해 동작하며, 수학적인 집합 연산인 ∪(합집합), ∩(교집합), −(차집합)과 대응된다. 이 세 연산자는 아래와 같이 사용된다. <syntaxhighlight lang="sql"> -- Fall 2017 또는 Spring 2018에 운영되었던 course를 찾기 (select course_id from section where sem = 'Fall' and year = 2017) union (select course_id from section where sem = 'Spring' and year = 2018) </syntaxhighlight> <syntaxhighlight lang="sql"> -- Fall 2017와 Spring 2018에 모두 운영되었던 course를 찾기 (select course_id from section where sem = 'Fall' and year = 2017) intersect (select course_id from section where sem = 'Spring' and year = 2018) </syntaxhighlight> <syntaxhighlight lang="sql"> -- Fall 2017에 운영되었지만 Spring 2018에는 운영되지 않았던 course를 찾기 (select course_id from section where sem = 'Fall' and year = 2017) except (select course_id from section where sem = 'Spring' and year = 2018) </syntaxhighlight> 이때 union, intersect, 그리고 except 연산자는 모두 그 결과 테이블에서 중복되는 튜플을 허용하지 않는다. 중복되는 튜플을 허용하기 위해서는, union all, intersect all, 그리고 except all 연산자를 사용해야 한다. ==각주== [[분류:데이터베이스 시스템]]
SQL
문서로 돌아갑니다.
둘러보기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록