[DB] 기본 Query
#SELECT-FROM-WHERE
-기본 구조:
SELECT <attribute list>
FROM <table list>
WHERE <condition>
-예제:
*이름이 John B.Smith인 직원의 생일과 주소를 검색
SELECT Bdate, Address
FROM EMPLOYEE
WHERE Fname='John' AND Minit='B' AND Lname='Smith'
-예제2:
*Research 부서에서 일하는 직원들의 이름과 주소
SELECT Fname, Lname, Address
FROM EMPLOYEE, DEPARTMENT
WHERE Dname='Research' AND DEPARTMENT.Dnumber=EMPLOYEE.Dno
-> Dnumber와 Dno는 사실상 같은 값
-> 만약 두 값이 각각 테이블에서 같은 이름으로 저장되었다면 앞에 테이블명을 명시하는 것이 필수
-> 해당 경우에는 생략 가능
>>> 만약 Dnumber=Dno 대신 Ssn=Mgr_ssn 이 주어졌다면?
>>> 해당 부서의 모든 직원이 아닌 관리자의 정보만 출력될것 -> 전혀 달라진다
★ FROM 절에서 테이블 두개를 선언하였으므로, 두 테이블의 모든 정보를 갖고 시작함 -> Dnumber, Dno가 각각 어디 테이블인지도 안다는 의미
★이런 JOIN 컨디션이 들어간 쿼리의 경우 PK, FK 관계인지 반드시 확인 -> 아니라면 대부분 오답
★WHERE절에 들어간 join condition이 PK, FK관계인지 먼저 확인하자
#INSERT INTO문
- SELECT-FROM-WHERE 문의 검색 결과를 테이블에 집어 넣는것
INSERT INTO 테이블명
SELECT
FROM
WHERE 형
★INSERT INTO, DELET FROM, UPDATE는 반드시 한 번에 한 테이블을 대상으로만 사용 가능
#DELETE
DELETE FROM 테이블명
WHERE 조건
-> 해당 테이블에서 검색 결과를 삭제
#UPDATE
UPDATE 테이블명
SET 갱신 후 내용
WHERE 조건