1.전체조회 테이블의 개수와 상관없이
2. 조건으로 필요한 필터
3. 원하는 정렬 기준으로 조회
4. 가져온 데이터를 필여한 형태로 가공(내장함수)
정렬은 두 가지로 나뉘게 되는데 1. ASC는 오름차순정렬, 2. DESC는 내림차순정렬로 나뉜다.
SELECT 컬러명 FROM 테이블명 별칭 ORDER BY 정렬컬럼 ;
SELECT i.* FROM ITEM i WHERE i.price >= 20000 ORDER BY i.code DESC;
ex)아이템 테이블에서 아이템 가격이 20000이상인것을 코드별로 내림차순하여 조회한다.
Like 뒤에 사용자가 지정한 문자(열)을 비교, 검색하는 역할
ex)Like"학교": 학교로 끝나는 값 검색
ex)Like "오*": 오를 포함하는 값 검색
WHERE 컬러명 LIKE '아무거나' || '포함할것' || '아무거나' ;
SELECT i.* FROM item i WHERE i.name LIKE '%' || '과' || '%' ;
아이템 테이블에서 아이템 이름에 "과"가 포함된 것을 조회한다.
숫자가 순차적으로 증가하는 역할을 한다.
CREATE SEQUENCE 시퀀스이름 INCREMENT BY 증가값 START WITH 시작할 숫자작
NOMAXVALUE NOCACHE;
COMMIT;
CREATE SEQUENCE seq_student1_no INCREMENT BY 1 START WITH 101 NOMAXVALUE NOCACHE; COMMIT;
student1 테이블을 조회시 NO값이 104부터 시작해서 109까지 1씩 증갈하면서 테이블에 추가되는 모습이 보인다.
숫자나 날짜를 형식에 맞는 문자로 바꿔주는 역할을 한다.
SELECT i.*, TO_CHAR(i.price*i.quantity,'999,999,999') total FROM item i WHERE i.name LIKE '%' || '과' || '%' ;
i.price i.quantity total가공된 테이블이 total로 바뀐다.
TO_CHAR(i.pricei.quantity,'999,999,999') total는 가격과 수량의 곱한 값을 뒤에 문자형태에 맞게 변환하여 가동된 테이블이 total로 바뀐것이다.
view생성하기(view는 조회(SELECT)만 가능하다)
SELECT i.*, ROW_NUMBER() OVER(ORDER BY i.code DESC) rown FROM item i WHERE i1.rown BETWEEN 1 and 5 ORDER BY i.code DESC;
ROW_NUMBER() OVER(ORDER BY i.code DESC) rown은 가상테이블이다
ROW_NUMBER() OVER()는 값이 같더라도 레코드가 달라지면 다른 순서를 매긴다
이 SELECT문에서의 WHERED은 원본데이터에 대한 조건이라서 에러가 발생한다
SELECT i1.* FROM( SELECT i.*, ROW_NUMBER() OVER(ORDER BY i.code DESC) rown FROM item i ORDER BY i.code DESC ) i1 WHERE i1.rown BETWEEN 1 and 5;
CREATE OR REPLACE VIEW view 이름 AS
CREATE OR REPLACE VIEW itemview AS SELECT i.*, ROW_NUMBER() OVER(ORDER BY i.code DESC) rown FROM item i ORDER BY i.code DESC;
item테이블에서 아이템 코드를 내림차순으로 정렬시키고, 아이템테이블 전체와 아이템코드를 내림차순으로 정렬한 것을 순서를 매겨 출력시킨것을 itemview라는 이름으로 view를 생성한다.
SELECT m.* FROM member m; SELECT p.* FROM purchase p; CREATE OR REPLACE VIEW pruchaseview AS SELECT i.name,i.price, i.quantity, i.content, mp.* FROM item i,( SELECT m.userid, m.username, m.userage, m.userphone, m.usergender,p.no, p.cnt, p.regdate, p.code FROM member m, purchase p WHERE m.userid = p.userid )mp WHERE i.code = mp.code;
INNER JOIN (테이블 두개를 합치는것)
SELECT으로 가동된 내역은 가상의 테이블이다. member와 purchase를 조건문에 맞게 합쳐서 가상 테이블을 만든 후에 다시 item테이블과 합쳐 pruchaseview뷰를 생성한다.
java와 Oracle 연동한다
(∩^o^)⊃━☆