본문 바로가기

728x90
반응형

db sql

(4)
[SQL]Sub Query 정의SELECT 문장의 절에 포함된 SELECT 문장.WHERE 절의 Sub Query : 비교 대상의 값이 미지정일 경우 사용됨FROM 절의 Sub Query : Sub Query의 결과 집합(Result Set)을 하나의 View로 간주, 인라인뷰라고도 함HAVING절의 Sub Query : 그룹함수의 결과에서 조건을 주어 조건에 맞는 결과를 표시할 때유형단일행 서브쿼리 : 서브쿼리의 결과로 하나의 행이 리턴된다.(=로 비교가능)다중행 서브쿼리 : 서브쿼리의 결과로 하나 이상의 행이 리턴된다.(in연산자)다중열 서브쿼리 : 서브쿼리의 결과로 하나 이상의 열이 리턴된다.사용지침1. WHERE절, HAVING절, FROM절에 Sub Query 사용2. 서브쿼리는 ()로 둘러싸여져야 함3. 단일행 서브쿼리..
[SQL]Join Join : 하나 이상의 테이블에 있는 데이터를 조회하기 위해 사용각 테이블마다 동일한 컬럼이 있을 수 있기 때문에 어떤 테이블에 속한 컬럼인지 확인하기 위해 열 이름 앞에 테이블 이름을 붙여야 함.이름 대신 별칭을 사용할 수도 있음. ALIAS - SQL문장을 간단하게 작성할 수 있다. 명명은 짧고 의미있는 단어로 지정중복되지 않은 열 이름이라도 열 이름 앞에 테이블 이름을 붙이면 오라클 서버에서 찾고자 하는 열의 정확한 위치를 알려주므로 성능 향상이 된다.2개 이상의 테이블을 조인할 수도 있지만 항상 2개씩만 조인이 가능. 종류1. EQUIJOIN: primary key와 foriegn key2. NON-EQUIJOIN: 두 테이블 사이에 어떤 컬럼에 연관이 없는 것: BETWEEN ~ AND3. O..
[SQL] 테이블 관리 및 활용 테이블 생성 : CREATE TABLE테이블 변경 : ALTER TABLE컬럼 추가 : ADD컬럼 수정 : MODIFY테이블 제거 : DROP TBALECASCADE CONSTRAINTS : 외래키도 삭제컬럼 제거 : DROP, 데이터베이스 오버헤드 부하 발생컬럼 UNUSED : 사용자게에 컬럼을 보이지 않게 한다. SET UNUSED COLUMN age > 사용 이유, 데이터베이스 오버헤드 부하 발생하지 않음. Row Chaining블록이 꽉 차서 넘쳤을 때 다른 블록으로 걸쳐서 저장됨. 원래 있던 데이터는 블록 a에, 넘친 데이터는 블록 b에 I/O 비효율 발생Row Migration비효율을 없애기 위해, 공간이 부족했을 경우 새로운 블록에 저장됨. 기존의 블록에 공간이 생김, 블록이 많이 생김PCT..
[SQL]데이터 제한 및 정렬 WHERE절 : 칼럼끼리도 비교 가능예) SELECT EMPNO, ENAME, JOB, SAL FROM EMP WHERE SAL >= COMM;BETWEEN ~ AND : 사용시 비교하는 대상의 작은 값이 앞으로 와야함.예) SELECT EMPNO, ENAME, JOB, SAL FROM EMP WHERE SAL BETWEEN 1800 AND 1500 (X)SELECT EMPNO, ENAME, JOB, SAL FROM EMP WHERE SAL BETWEEN 1500 AND 1800 (O)LIKE : % 또는 _ 사용(숫자타입에서는 사용 불가능)\ : 와일드카드 문자를 무시하고 하나의 값으로 표현하고자 할때 ESCAPE 예약어를 사용한다.예) SELECT * FROM EMP WHERE ENAME LIKE '..

728x90
반응형