본문 바로가기

Computer Science/Database16

[SQL] AVG, MIN, MAX, SUM, COUNT, GROUP BY, HAVING Aggregate Functions 데이터를 조회할 때 집계 함수는 여러 개의 row를 집계하여 하나의 결과를 나타낼 때 사용한다. 기본적인 집계 함수로는 AVG(평균값), MIN(최솟값), MAX(최댓값), SUM(합), COUNT(갯수) 등이 있다. 그리고 여러 개의 그룹으로 나누어 집계할 때 사용되는 GROUP BY 키워드와, 집계 함수의 결과를 통해 조건을 설정할 때 사용하는 HAVING 키워드가 있다. AVG AVG 키워드는 한 속성에 해당하는 값들의 평균값을 계산할 때 사용한다. SELECT AVG(salary) FROM instructor WHERE dept_name='Comp.Sci.' 예를 들어, 위 SQL은 컴퓨터공학과 교수들의 연봉 평균을 구하는 SQL이다. MIN MIN 키워드는 한.. 2020. 6. 15.
[SQL] OR, AND, NOT, IN, IS NULL Logic Operation WHERE 키워드 뒤에 조건을 작성할 때 OR, AND NOT, IN 등의 논리 연산을 통해 다양한 조건을 설정할 수 있다. OR OR 키워드를 통해서는 둘 중 하나의 조건을 만족하면 true를 반환하는 조건을 만들 수 있다. SELECT course_id FROM section WHERE year=2019 OR sem='Fall' 위 SQL은 2019년에 열리거나 가을 학기에 열린 과목의 course_id를 가져오는 SQL이다. AND AND 키워드를 통해서는 두 가지 조건을 모두 만족하면 true를 반환하는 조건을 만들 수 있다. SELECT course_id FROM section WHERE year=2019 AND sem='Fall' 위 SQL은 2019년 가을 학기에.. 2020. 6. 15.
[SQL] UNION, INTERSECT, EXCEPT UNION, INTERSECT, EXCEPT SQL을 실행하면서 여러 개의 결과를 합쳐 보여주기 위해 set operation을 실행하게 된다. 대표적인 set operation으로 UNION, INTERSECT, EXCEPT가 사용된다. UNION은 | (or) 연산, INTERSECT는 & (and) 연산, EXCEPT는 - (minus) 연산을 나타낸다. UNION UNION 연산을 사용하면 SQL을 실행한 결과의 합집합을 구할 수 있다. (SELECT course_id FROM section WHERE sem='Fall' AND year=2019) UNION (SELECT course_id FROM section WHERE sem='Spring' AND year=2020) 예를 들어 위 SQL은 .. 2020. 6. 15.
[SQL] SELECT, AS, LIKE, ORDER BY SELECT SELECT id, name FROM instructor SELECT 속성 FROM 테이블명 형태로 명령을 보내면 원하는 테이블 속성의 모든 값을 불러올 수 있다. SELECT name FROM instructor WHERE id=1 또한 WHERE 문을 통해 원하는 조건에 해당하는 row의 속성 값만 가져올 수도 있다. SELECT * FROM instructor 그리고 속성 이름 대신 * 을 넣어주면 모든 속성을 가져올 수 있다. AS AS 키워드는 속성이나 테이블의 이름을 새로 지정하여 사용할 때 사용한다. SELECT id, name, salary/12 AS monthly_salary FROM instructor 위와 같이 지정할 속성 이름 뒤에 AS 구문과 함께 새 이름을 적어주면 .. 2020. 6. 12.
[SQL] INSERT, UPDATE, DELETE INSERT INSERT INTO instructor (id, name, dept_name, salary) VALUES (3, 'Mark', 'Math', 85000) INSERT INTO 테이블명 (속성1, 속성2, 속성3) VALUES (값1, 값2, 값2) 데이터를 삽입 할 때는 테이블명과 데이터를 삽입할 속성들, 그리고 데이터를 순서에 맞춰 넣어주면 된다. 따라서 위 sql은 id는 3, name은 Mark, dept_name은 Math, salary는 85000인 데이터를 넣는 sql이다. UPDATE UPDATE instructor SET salary = salary * 1.05 WHERE salary < 80000 UPDATE 테이블명 SET 수정할 내용 WHERE 조건 데이터를 수정할 때는.. 2020. 6. 9.
[SQL] CREATE, ALTER, RENAME, DROP TABLE CREATE TABLE 위와 같이 id, name, dept_name, salary 속성을 갖는 instructor 라는 테이블을 만들어보자. CREATE TABLE instructor( id char(5), name varchar(20) NOT NULL, dept_namevarchar(20), salarynumeric(8,2), PRIMARY KEY(id), FOREIGN KEY(dept_name) REFERENCES department) CREATE TABLE 키워드 뒤에 테이블 이름인 instructor를 써준 뒤 괄호를 열어 attribute 이름과 자료형을 넣어준다. char(5)는 5 byte 만큼 char 변수 공간을 할당하겠다는 뜻이고, varchar(20) NOT NULL 은 최대 20 .. 2020. 6. 2.
Data Model / DML, DDL Data Model이란? Data Model이란 데이터베이스를 관리하기 위한 여러가지 방법론으로, 가장 많이 쓰이는 모델로는 Relational Model과 E-R Model이 있다. Relational Model이란? 데이터베이스 관리를 위한 방법론으로, 데이터를 입력, 삭제하거나 검색 등의 기능들을 명령문을 통해 수행한다. 이를 위해서는 데이터를 저장할 구조, 데이터 관리를 위한 언어를 정해놓아야 한다. 이와 같은 Relational Model을 사용하여 만든 데이터베이스를 Relational Database라 한다. Relational Database의 구조 Relational Database는 table의 형태로 데이터를 저장하며, 각 table의 행을 tuple 또는 row라 하며 열을 attr.. 2019. 6. 5.