SELECT * FROM 테이블명;
SELECT * FROM MEMBER3;
INSERT INTO 테이블명(컬럼명) VALUE(추가값);
INSERT INTO MEMBER3(ID, PW, AGE, PHONE, GENDER, REGDATE, REGDATE1)
VALUES ('a', 'a', 11, '010-2553-4586', 'M', CURRENT_DATE, CURRENT_DATE);
다시 조회
DATE와 TIMESTAMP의 차이가 자세하게 나옴.
TIMESTAMP가 자세하게 나옴.
제약조건에 위배되었을 때
DCL은 COMMIT, ROLLBACK을 마지막에 해줘야 DB에 적용이 됨.
오라클에서는 시퀀스를 지원해줌.
시퀀스가 있는 걸 확인할 수 있음
시퀀스 생성하기
CREATE SEQUENCE SEQ_BOARD3_NO
START WITH 1 INCREMENT BY 1 NOMAXVALUE;
생성한 시퀀스 사용하기
INSERT INTO BOARD3(NO, TITLE, WRITER, HIT, REGDATE, CONTENT)
VALUES (SEQ_BOARD3_NO.NEXTVAL, 'A', 'a',1,CURRENT_DATE, 'A');
UPDATE 테이블명 SET 컬럼명=변경값, 컬럼명=변경값 WHERE 조건;
UPDATE MEMBER3 SET AGE=22, PHONE='010-2554-4545' WHERE ID='C';
나이가 0 ~20이면 나이를 200으로
나이가 21~40이면 나이를 300
나머지는 300으로 변경
UPDATE MEMBER3 SET AGE =
CASE
WHEN(age >=0 AND age <=20) THEN 200
WHEN(age >=21 AND age <=40) THEN 300
ELSE 400
END
DELETE FROM BOARD3 WHERE NO=5;
DELETE FROM MEMBER3 WHERE ID='a';
외래키로 사용중이어서 오류가 발생함.
회원삭제, 중요정보를 UPDATE를 함.
SELECT * FROM MEMBER3 WHERE ID IN ('a', 'b', 'c');
SELECT * FROM MEMBER3 WHERE ID IN('a', 'b', 'c') ORDER BY ID DESC;
SELECT * FROM BOARD3 WHERE HIT <= 20 ORDER BY NO DESC;
필터를 하고 정렬을 하는 게 좋음.
반대로 하면 성능이 떨어짐.
쿼리문이 성능을 좌우함. 최적화해서 주기.
SELECT NO 번호, NAME 이름, PAY 급여,
CASE
WHEN( PAY >= 0 AND PAY <=200) THEN PAY * 0.05
WHEN( PAY >= 201 AND PAY <=300) THEN PAY * 0.05
ELSE PAY * 0.15
END 세금
FROM EMPLOYEE;
SELECT 컬럼 FROM 테이블 WHERE 컬럼 LIKE 검색어
ORDER BY 컬럼 ASC | DESC
SELECT NO, TITLE, WRITER, HIT, REGDATE FROM BOARD3
WHERE TITLE LIKE '%' || 'A' || '%'
ORDER BY NO DESC;
SELECT
NO, TITLE, WRITER, HIT,
REGDATE DT, ROW_NUMBER() OVER(ORDER BY NO DESC)
FROM
BOARD3;
원래 컬럼 변경할 컬럼 순.
SELECT * FROM (
SELECT
NO, TITLE, WRITER, HIT,
REGDATE DT, ROW_NUMBER() OVER(ORDER BY NO DESC) ROWN
FROM
BOARD3)
BOARD33 WHERE ROWN BETWEEN 1 AND 3;
SELECT * FROM 테이블명 이렇게 조회했었음
SELECT 조회할 내용,
조회할 내용 > 원래 컬럼명 변경할 컬럼명.
페이지네이션을 위한 컬럼을 새로 만든다.
ROW_NUMBER() OVER(ORDER BY NO DESC) ROWN
ROWN의 이름을 가진 컬럼을 만듦.
그리고 만들어진 테이블을 SELECT FROM()안에 넣어서 BOARD33의 이름을 가진 테이블로 만든다. 거기서 WHERE조건문을 써서 원하는 만큼의 페이지를 가지고 온다.