-- 원래는 여러명이서 문제를 만들었지만 개인적으로 진행하는거라 문제수가 적음-- 문제 1: 2005년 8월에 가장 많이 대여된 영화의 제목을 조회하세요.SELECT f.title, COUNT(i.film_id) AS rental_countFROM rental AS rJOIN inventory AS i ON r.inventory_id = i.inventory_idJOIN film AS f ON i.film_id = f.film_idWHERE rental_date LIKE "2005-08%"GROUP BY i.film_idORDER BY rental_count DESCLIMIT 1;-- 문제 2: 각 카테고리별 평균 영화 길이(시간)를 조회하세요.SELECT c.name AS category, AVG(f...
MySQL 기본 MySQL 설치 - 1 //데이터베이스란 - 2 //샘플 데이터 구축하기 - 3 //데이터베이스 구축 절차 - 4 //데이터베이스 모델링 - 5 //테이블에 데이터 입력 - 6 //테이블 생성과 제약 사항 연습 - 7 //INSERT 구문과 제약 사항 - 8 //SELECT 구문과 조건절 - 9UPDATE 구문과 조건절 - 10 DELETE 구문과 조건절 - 11 UNIQUE 제약에 이해 - 12 MySQL에서 인덱스(index)란 - 13 관계 차수란? - 15 MySQL JOIN - 16테이블 복사 및 데이터 추가 - 17MySQL Function - 18Groub By 와 having 절 - 19 SQL 쿼리의 일반적인 처리 순서 - 20 MySQL 계정 생성..
1. UNION 연산자 UNION 연산자는 SQL에서 여러 SELECT 문의 결과를 하나의 결과 집합으로 결합할 때 사용된다. 즉, 서로 다른 테이블이나 같은 테이블의 다른 조건에서 검색된 데이터를 하나의 결과로 볼 수 있도록 하기 위해 사용한다.기능 : UNION은 두 개 이상의 SELECT 결과를 결합한다.조건 : 모든 SELECT 문은 동일한 수의 열을 가져야 하며, 열의 데이터 타입이 호환 가능해야 한다.중복 제거 : 기본적으로 UNION은 중복된 행을 제거한다.중복 포함 : 중복된 행을 포함하려면 UNION ALL을 사용한다.사용 예시SELECT name, email FROM customersUNIONSELECT name, email FROM suppliers;-------------------..
1. 제 3정규형제 3정규형(Third Normal Form, 3NF)은 데이터베이스 테이블이 제 2정규형(2NF)을 만족하며, 추가적으로 모든 비기본 키 속성이 기본 키에만 종속되고 기본 키가 아닌 다른 속성에는 종속적이지 않아야 한다. 이를 '이행적 종속성이 없어야 한다'고 한다. 이행적 종속이란 A -> B, B -> C의 종속 관계에서 A가 B에 종속되고, B가 C에 종속될 때, 간접적으로 A가 C에 종속되는 관계를 말한다. 제 3정규형을 만족하지 못하는 예제 학생ID학생 이름과목코드과목명교수ID교수 이름1홍길동MAT101수학101김교수2이순신ENG101영어103박교수 학생 성적 테이블학생 성적 테이블이 제 3정규형(3NF)을 만족하도록 설계하기 위해 이행적 종속성을 제거해야 한다. 현재 테이..
-- 1. use employees-- 1995년 이후에 입사한 현재 근무중인 직원들 중 '개발'부서에 '엔지니어' 직함을 -- 가지고 있는 평균 연봉이 가장 높은 직원 10명을 출력SELECT CONCAT(e.first_name, ' ', e.last_name) AS 이름, e.hire_date AS 고용일,de.dept_no AS 부서번호, d.dept_name AS 부서, t.title AS 직함, AVG(s.salary) AS 급여FROM employees AS eJOIN dept_emp AS de ON e.emp_no = de.emp_noJOIN departments AS d ON de.dept_no = d.dept_noJOIN titles AS t ON e.emp_no = t.emp_noJOI..
-- 1. 현재 까지 지출한 직급별 평균 연봉의 합산SELECT SUM(x.avg) AS sumFROM ( SELECT AVG(salary) AS avg FROM salaries AS s JOIN titles AS t ON s.emp_no = t.emp_no GROUP BY title) AS x;-- 2. db sakila-- LOVE 라는 단어가 들어간 영화에 가장 많이 출연한 배우는 누구인가-- 출력 예시 first_name, last_nameSELECT a.first_name, a.last_name, COUNT(a.actor_id) AS 개수FROM actor AS aJOIN film_actor AS fa ON a.actor_id = fa.actor_idJOIN film_text AS ft ON f..