본문 바로가기

[ CS 전공 ]16

[ DB ] 8. SQL (3) : Subqueries 1. Nested Subqueries (1) Subquery : Query 안의 Query로, select-from-where 절 어디에나 들어갈 수 있다. (2) Set Membership ⓐ in / not in - query의 결과가 subquery에 속하는지, 속하지 않는지에 관한 operation - in은 intersect operation과 유사하다. - not in은 except operation과 유사하다. ex. 2017년 가을학기와 2018년 봄학기에 모두 개설된 강좌를 찾으시오 select distinct course_id from section where semester='Fall' and year=2017 and course_id in (select course_id from s.. 2022. 4. 28.
[ DB ] 7. SQL (2) : Group by, Having 1. Group by (1) Aggregate functions - Group by - 그룹화하여 데이터를 조회할 수 있도록 하는 operation - 특정 column을 그룹화하는 것이다. SELECT 컬럼 FROM 테이블 GROUP BY 컬럼; ex. 각 학과의 교수들의 평균 연봉을 출력하시오. select dept_name, avg(salary) from instructor group by dept_name; - 이렇게 학과 별로 나누어진 salary들의 평균을 구하면 다음과 같다. - relation의 통계 처리가 가능해진다. (2) 주의사항 /* erroneous query */ select dept_name, ID, avg (salary) from instructor group by dept_.. 2022. 4. 27.
[ DB ] 6. SQL (1) : rename, string, ordering operation | MySQL 1. Rename operation : relation 이름과 attribute 이름을 rename 하는 operation (1) name이 어떤 이름을 말하고 있는지 애매하므로 instructor_name으로 명확하게 나타낸다. select name as instructor_name, course_id from instructor , teaches where instructor.ID = teaches.ID; (2) +, -, *, % 연산 후 그 연산이 의미하는 바로 이름을 대체한다. - 연봉을 12로 나누어서 월급을 출력하는데, 이름을 monthly_salary로 바꾼다. select name, salary/12 as monthly_salary from instructor; (3) 교수가 가르친 강의.. 2022. 4. 27.
[ DB ] 5. Table 생성, 수정, 삭제 1. 테이블 생성 (1) create table construct - r : relation (table) 이름 - A : attribute 이름 - D : domain type과 길이 ex. (2) integrity constraints in create table - 제약 조건 : primary key, foreign key, not null - primary key : primary key (attribute) - foreign key : foreign key (attribute) references s - not null : null 값을 허용하지 않음 ex. ex. 2. 테이블 수정 (1) column 추가 ALTER TABLE table_name ADD COLUMN ex_column varch.. 2022. 4. 27.