조건에 맞는 테이블 생성 (제약조건)

아래와 같은 조회결과가 나오도록 주어진 조건에 맞게 book 테이블을 생성하시오

 

조건1 : no 컬럼은 반드시, 중복되지 않은 값이 들어가도록 설정한다.
조건2 : title 컬럼에는 반드시 값이 들어가도록 설정한다.
조건3 : pub_day 컬럼에 값을 넣지 않으면 기본 값으로 오늘 날짜가 들어가도록 설정 한다.

create table book (
    no number primary key,
    title varchar2(12) not null,
    author varchar2(12),
    publisher varchar2(12),
    price number,
    pub_day date default sysdate);

 

포맷에 맞는 날짜 출력 (형변환)

Oracle 데이터베이스를 통한 현재 날짜를 기본형식(22/01/01)과

사용자 형식(2022-01-01)으로 차례로 출력하는 SQL문을 작성하시오

사용자 형식은 연도를 4자리로 출력 하도록 한다.

select sysdate 기본형식, to_char(sysdate, 'YYYY-MM-DD') 사용자형식 from dual;

 

그룹함수, 서브쿼리 문제

사원테이블(EMP)에서 최대 급여를 받는 사원명과, 최대급여 금액을 출력하는 SQL문을 작성하시오

select ename, sal from emp where sal = (select max(sal) from emp);

 

mysql의 auto_increment 와 insert문을 oracle 코드로 옮기기 (sequence)

MySQL을 Oracle로 DB Migration을 하고자 한다. 마이그레이션 한 결과가 같아지도록 아래 내용을 완성하시오

1. Oracle sequence 생성
2. insert문 작성하기

create table member (
    id NUMBER(6) primary key,
    name VARCHAR2(20)
);

-- 1. Oracle sequence 생성
create sequence member_id_seq;
-- 2. insert문 작성하기
insert into member values(member_id_seq.nextval, 'hong');

 

테이블 레벨 방식으로 제약조건 설정 (복합키)

다음은 테이블을 만들 때 name, phone 컬럼을 기본키로 만들려고 한다.

composite key(복합키) 이름(Constraint)은 member_compo_pk이며, 아래 테이블을 완성하시오

create table member1(
    name varchar2(10),
    address varchar2(30),
    phone varchar2(16),
    constraint member_compo_pk primary key (name, phone) );

 

 

점수

100 / 100

+ Recent posts