하나의 테이블로 원하는 칼럼정보를 참조
할수 없는 경우 관련된 테이블을 논리적으로
결합하여 원하는 칼럼 정보를 참조하는 방법
을 JOIN이라고 한다.
SELECT ename, hiredate, e.deptno, dname
FROM emp e
INNER JOIN dept d ON e.deptno=d.deptno
WHERE dname = 'ACCOUNTING' ;
띄어쓰기 또는 AS(Alias)를 통해 별칭을 지정하면 알아보기 쉽다.
하나의 SQL 문장절에 포함된 또다른 SELECT 문장, 따라서 두번 질의를 해야 얻을수 있는 결과를 한번의 질의로 해결이 가능하게 하는 쿼리이다.
서브쿼리는 단일행 서브쿼리와 복수행 서브쿼리가 있다.
서브쿼리의 실행결과가 하나의 칼럼과 하나의 행만을 리턴해주는 쿼리
SELECT dname
FROM dept
WHERE deptno = (SELECT deptno FROM emp WHERE ename='SMITH');
서브쿼리의 실행결과가 하나의 칼럼과 여러개의 행을 리턴해주는 쿼리
SELECT ename,sal,deptno
FROM emp
WHERE deptno IN(SELECT deptno FROM emp WHERE sal>=3000);
NULL 로 입력이 되어서는 안되는 칼럼에 부여하는 조건으로 칼럼 레벨에서 만 부여할수 있는 제약조건이다.
저장된 값이 중복되지 않고 오직 유일하게 유지되어야 할때 사용하는 제약조건이다. (NULL 은 허용된다)
NOT NULL 조건과 UNIQUE KEY 를 합친 조건이다.
조건에 맞는 데이터만 입력되도록 조건을 부여하는 제약 조건
부모 테이블의 PRIMARY KEY 를 참조하는 칼럼에 붙이는 제약조건 이다(예 emp 테이블의 deptno 칼럼)
SQL> SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS ;

SQL> ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명 ;
SQL> ALTER TABLE 테이블명
ADD( CONSTRAINT 제약조건명 PRIMARY KEY(키 명)) ;






NOT NULL 제약 조건은 테이블 생성 시 추가하거나
ALTER TABLE 테이블명 MODIFY..
로 추가한다.

존재하는 테이블
ALTER TABLE 테이블명 MODIFY 컬러명 NOT NULL;
ALTER TABLE 테이블명 MODIFY (컬럼명 타입 NOT NULL);
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 CHECK(컬럼명 IS NOT NULL);
NOT NULL 제거
NOT NULL 제거 ALTER TABLE 테이블명 MODIFY 컬러명 NULL;
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명