-- 문제1. staff들 중 first_name이 Georgi인 동명이인을 찾고 나이가 많은 사람 순으로 정렬하시오.-- 출력 title, first_name, last_name, brith_dateselect title, first_name, last_name, birth_datefrom employees ejoin titles t on e.emp_no = t.emp_nowhere first_name = 'Georgi'and title = 'staff'order by birth_date;-- 문제 2. 생일에 입사한 사람을 모두 조회하라-- 출력예시 employees.*select *from employeeswhere month(birth_date) = month(hire_date)and day(bi..
1. 설계User 테이블 명세서FieldTypeConstraintsDescidINTpk, auto..사용자 고유 IDuser_nameVARCHAR(100)not null, Unique사용자 이름passwordVARCHAR(255)not null비밀번호emailVARCHAR(100)not null이메일userRoleVARCHAR(20)-유저 타입createDateTIMESTAMPDeaultCURRENT_TIMESTAMP계정 생성 시간 Board 테이블 명세서FieldTypeConstraintsDescidINTpk, auto..게시글 고유 IDuserIdINTnot null, fk사용자 IDtitleVARCHAR(100)not null제목contentTEXT-내용readCountINT-조회수 Reply 테이..
1. 설계회원가입에 대한 테이블 설계가 필요 상품에 대한 정보를 저장하는 테이블이 필요주문테이블, 주문상세테이블이 필요하다 User Table 설계 도면FieldTypeConstraintsDescuser_idINTpk, auto..사용자 고유 IDuser_nameVARCHAR(50)not null사용자 이름emailVARCHAR(100)not null, Unique이메일 주소passwordVARCHAR(255)not null비밀번호addressVARCHAR(255)-주소created_atTIMESTAMPDeaultCURRENT_TIMESTAMP계정 생성 시간 Product TableFieldTypeConstraintsDescproduct_idINTpk, auto..상품 고유 IDproduct_nameVA..
1. SELF JOIN하나의 테이블 내에서 자기 자신을 조인하는 것을 의미한다. 이는 동일한 테이블에서 서로 다른 행을 비교하고 조작하는 데 사용된다. Self join을 사용하면 동일한 열을 가진 두 개의 서로 다른 인스턴스 간의 관계를 파악하거나 계층적인 구조를 나타낼 때 유용합니다.예를 들어, 조직 구조에서 각 직원이 직속 상급자의 정보를 확인해야 할 때 self join을 사용할 수 있다. 각 직원은 같은 테이블에 저장되어 있지만, 상급자와 직속 부하 직원 간의 관계를 파악하기 위해 자기 자신과의 조인을 수행한다. Column Name Data TypeDescriptionemployee_idINT직원의 식별자employee_nameVARCHAR직원의 이름employee_phoneVARCHAR직원..
1. 정규화란?데이터베이스에서 정규화는 데이터를 조직화하고 중복을 최소화하기 위해 데이터베이스 테이블의 설계를 시스템적으로 개선하는 과정이다. 정규화를 통해 데이터의 무결성과 일관성을 유지하면서 효율적인 데이터 관리가 가능해진다. 정규화(Normalization)의 기본 목표 테이블 내에서 발생할 수 있는 데이터의 중복을 최소화하여 이상 현상을 방지하고, 데이터 무결성을 유지하는 것. 데이터의 무결성: 데이터베이스 관리 시스템에서 데이터의 정확성, 일관성 및 신뢰성을 유지하는 특성을 말합니다.데이터베이스 내의 정보가 정확하고 일관된 상태로 유지되고 시스템에서 정의한 규칙, 제약 조건, 비즈니스 규칙을 준수하여 데이터의 품질을 보장하며, 응용 프로그램과 사용자가 신뢰할 수 있는 데이터에 접근할 수 있도록 ..
-- 문제 1. 직원들 개인의 입사 이후 현재까지의 평균 연봉을 구해서 80000이 넘는 사람들만 출력하라. (내림차순으로 상위 100명만)-- 출력 예시 (emp_no, last_name, avg)select e.emp_no, last_name, round(avg(salary), 0) as avgfrom salaries as sjoin employees as e on s.emp_no = e.emp_nogroup by s.emp_nohaving avg > 80000order by avg desclimit 100;-- 문제 2. 전체 평균 급여를 소수점 제외 도출하고 급여가 평균을 넘는 사원의 이름을 출력하세요.select e.emp_no, last_name, round(avg(salary), 0) as ..