- 서브쿼리 응용 풀어보기
-- 연습문제
-- 1. clark 보다 늦게 입사한 사원 조회
select * from emp where hiredate > (select hiredate from emp where ename = 'clark');
전체 입사일 목록 clark의 입사일
-- 2. 부서번호가 20인 사원 중에서 전체 사원 평균 급여보다 높은 급여를 받는 사원 조회
select * from emp where deptno = 20 and sal > (select avg(sal) from emp);
전체 deptno 20인 회사원의 sal 목록 평균 sal
-- 3. 2번 조회 결과에서 부서이름, 부서위치도 함께 조회
select * from emp e , dept d
where e.deptno = 20 and d.deptno = 20
and sal > (select avg(sal) from emp);
전체 emp , dept에서 emp는 약어 e , dept는 약어 d
각각의 deptno가 20이고 sal이 평균 sal보다 높으면 출력
- 제약조건(Contraints) 알아보기
- 제약조건(Contraints) 문법
create table [데이블이름](
col1 [타입] 제약조건 종류 ,
....
-- pk, fk경우에는
constraint [제약조건 이름] primary key(pk 지정할 컬럼 이름),
constraint [제약조건 이름] foreign key(fk 지정할 걸럼 이름)
references [부모테이블이름](참조컬럼이름)
)
- 제약조건 사용 전 테이블 만들고 / 데이터 넣어보기
만든 테이블에 제약 조건이 없기 때문에 문법만 맞다면 대부분 입력 가능하다
- 제약조건(Contraints) 사용해보기
not null 사용 - 해당 조건의 칸에는 반드시 값이 들어가야한다
데이터에서 id에 null을 넣어보면 에러코드 1048이 뜨는걸 알 수 있다
unique 사용 - 넣는 값이 컬럼에 이미 있는 값이라면 막아준다
중복으로 데이터를 넣어보면 에러코드 1062가 발생한다
default 사용 - 따로 값을 지정하지 않아도 자동으로 설정 값이 저장된다
가입 시간을 넣지 않았지만 default now()로 자동으로 값이 들어간걸 확인할 수 있다
primary key 사용 - null값과 중복을 잡아준다 두가지 조건을 모두 걸어야할때 사용한다
사진을보면 조건을 걸고싶은 칼럼 뒤에 넣어도 상관없지만
같은 조건을 여러 컬럼에 넣고 싶을때 constraint pk를 사용해 한번에 넣을 수 있다
- 자투리 걸려있는 제약조건 확인
'나의 수업일지' 카테고리의 다른 글
인천 일보 아카데미 27일차-1- 참조관계 / 참조관계-특징 / 참조관계 - 제약조건 / pk-fk (0) | 2023.03.31 |
---|---|
인천 일보 아카데미 27일차 -2- ERD란 ? / ERD 만들어보기 (0) | 2023.03.30 |
인천 일보 아카데미 26일차 -1-그룹핑_having / date타입 문자표현 / 조인(join) / 서브쿼리(sub_query) (0) | 2023.03.29 |
인천 일보 아카데미 25일차 -2 table_where-2 / table_like / 형변환 / 집계함수 / 그룹화 (1) | 2023.03.28 |
인천 일보 아카데미 25일차 - table_생성_사용하기 / table_where (조건 설정)/ table_distinct (중복제외) (1) | 2023.03.28 |