Q0. 이름이 ‘John B.Smith’인 사원들의 생년월일(Bdate)과 주소(Address)를 검색하라.
SELECT Bdata, Adress From EMPLOYEE WHERE Fname = ‘John’ AND Mini = ‘B’ AND Lname = ‘Smith’; |
Q1. ‘Research’ 부서에서 근무하는 모든 사원의 이름(Fname, Lname)과 주소(Adress)를 검색하라.
SELECT Fname, Lname, Address FROM EMPLOYEE, DEPARTMENT WHERE Dname=’Research’ AND Dnumber=Dno; |
Q1'. Q1의 모호함을 없애기 위해 변경. 동일한 애트리뷰트 이름이 양쪽 릴레이션에서 사용되었 기 때문에 점(.)을 이용하여 릴레이션의 이름을 붙여준다.
SELECT Fname, EMPLOYEE Name, Address FROM EMPLOYEE, DEPARTMENT WHERE DEPARTMENT.Name = ‘Research’ AND DEPARTMENT.Dnumber=EMPLOYEE.Dnumber; |
SELECT EMPLOYEE.Fname, EMPLOYEE.Name, EMPLOYEE.Address FROM EMPLOYEE, DEPARTMENT WHERE DEPARTMENT.DName=’Research’ AND DEPARTMENT.Dnumber=EMPLOYEE.Dno; |
SELECT E.Fname, E.LName, E.Address FROM EMPLOYEE E, DEPARTMENT D WHERE D.DName=’Research’ AND D.Dnumber=E.Dno; |
Q2. ‘Stafford’에 위치한 모든 프로젝트에 대해서 프로젝트 번호(Pnumber), 담당 부서 번호(Dnum), 부서관리자의 성(Lname), 주소(Addess), 생년월일(Bdate)을 검색하라.
SELECT Pnumber, Dnum, Lname, Address, Bdate FROM PROJECT, DEPARTMENT, EMPLOYEE WHERE Dnum=Dnumber And Mgr_ssn=Ssn And Plocation=’Stafford’; |
Q3. 각 사원에 대해 사원의 이름(Fname)과 성(Lname), 직속 상사의 이름(Fname)과 성(Lname)을 검색하라.
SELECT E.Fname, E.Lname, S.Fname, S.Lname FROM EMPLOYEE AS E, EMPLOYEE AS S WHERE E.Super_ssn=S.Ssn; |
Q4. EMPLOYEE의 모든 Ssn을 선택하라.
SELECT Ssn FROM EMPLOYEE; |
Q5. EMPLOYEE의 Ssn과 DEPARTMENT의 Dname의 모든 조합을 선택하라. (중복을 제거하지 않으면) 크로스 프로덕트가 된다)
SELECT Ssn, Dname FROM EMPLOYEE, DEPARTMENT; |
Q6. 부서 번호(Dno)가 5인 부서에서 근무하는 EMPLOYEE 투플들의 모든 애트리뷰트 값 검색.
SELECT * FROM EMPLOYEE WHERE Dno=5; |
Q7. ‘Research’ 부서에서 일하는 모든 사원에 대하여 EMPLOYEE의 모든 애트리뷰트와 DEPARTMENT의 모든 애트리뷰트를 검색하라.
SELECT * FROM EMPLOYEE, DEPARTMENT WHERE Dname=’Research’ AND Dno=Dnumber; |
댓글이나 공감 남겨주는 사람 착한사람
'학사 그리고 석사 > 데이터베이스' 카테고리의 다른 글
SQL 질의 (2) (0) | 2019.09.21 |
---|---|
용어 정리 (0) | 2019.09.21 |
다중키 인덱스 (0) | 2019.09.20 |
단일-단계 순서 인덱스들의 유형 (0) | 2019.09.20 |
파일의 인덱스 구조 (0) | 2019.09.20 |