목록전체 (348)
파게로그
COMMIT DML로 변경한 데이터를 DB에 반영 변경 전 이전 데이터는 잃어버리게 됨 다른 모든 DB 사용자는 변경된 데이터를 볼 수 있음 COMMIT이 완료되면 DB 변경으로 인한 LOCK이 해제됨 COMMIT이 완료되면 다른 모든 DB 사용자는 변경된 데이터를 조작할 수 있음 COMMIT을 실행하면 하나의 트랜잭션 과정을 종료 Oracle DB는 암시적 트랜잭션 관리를 함. Oracle DB로 트랜잭션 시작, 종료는 사용자의 COMMIT 또는 ROLLBACK AUTO COMMIT SQL Plus를 정상적으로 종료하면 자동으로 commit DDL, DCL 사용 시 자동으로 commit SQL Plus에서 SET AUTOCOMMIT ON;을 실행하면 자동으로 commit ROLLBACK 데이터에 대한 ..
GRANT GRANT privileges ON object TO user; GRANT SELECT, INSERT, UPDATE ON EMP TO BERRY WITH GRANT OPTION; privileges(권한) SELECT 지정된 테이블에 대한 SELECT 권한 INSERT 지정된 테이블에 대한 INSERT 권한 UPDATE 지정된 테이블에 대한 UPDATE 권한 DELETE 지정된 테이블에 대한 DELETE 권한 REFERENCES 지정된 테이블을 참조하는 제약조건을 생성할 수 있는 권한 ALTER 지정된 테이블을 수정할 수 있는 권한 INDEX 지정된 테이블에 대해서 인덱스를 생성할 수 있는 권한 ALL 지정된 테이블에 대한 모든 권한 WITH GRANT OPTION WITH GRANT OPTI..
WITH 구문 WITH T AS (SELECT * FROM EMP WHERE DEPTNO=30) SELECT * FROM T; subquery를 사용해서 임시 테이블이나 뷰처럼 사용할 수 있는 구문 subquery block에 별칭을 지정할 수 있음 optimizer는 SQL을 inline view나 임시 테이블로 판단
ROWNUM SELECT * FROM EMP WHERE ROWNUM
DECODE문 SELECT DECODE (EMPNO, 1000, 'TRUE', 'FALSE') FROM EMP; DECODE문으로 IF를 구현할 수 있음 CASE문 SELECT CASE WHEN EMPNO = 1000 THEN 'A' WHEN EMPNO = 1001 THEN 'B' ELSE 'C' END FROM EMP;
내장형 함수의 종류 형 변환 함수 문자열 및 숫자형 함수 날짜형 함수 DUAL 테이블 Oracle DB에 의해서 자동으로 생성되는 테이블 Oracle DB 사용자가 임시로 사용할 수 있는 테이블로 내장형 함수를 실행할 때도 사용할 수 있음 Oracle DB의 모든 사용자가 사용할 수 있음 내장형 함수(문자열 함수) ASCII(문자) 문자 혹은 숫자를 ASCII 코드값으로 변환 CHAR(ASCII 코드값) ASCII 코드값을 문자로 변환 SUBSTR(문자열, m, n) 문자열에서 m번째 위치부터 n개를 자름 CONCAT(문자열1, 문자열2) 문자열1과 문자열2를 결합(Oracle에서 '||', MS-SQL에서 '+'로 가능) LOWER(문자열) 영문자를 소문자로 변환 UPPER(문자열) 영문자를 대문자로 ..
SELECT문 실행 순서 FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY 순서로 실행 형 변환 명시적 형 변환(explicit type casting) - 형 변환 함수를 사용해서 데이터 타입을 일치시키는 것 - TO_NUMBER(문자열): 문자열을 숫자로 변환 - TO_CHAR(숫자 혹은 날짜, [FORMAT]): 숫자 혹은 날짜를 지정된 FORMAT의 문자로 변환 - TO_DATE(문자열, FORMAT): 문자열을 지정된 FORMAT의 날짜형으로 변환 암시적 형변환(implicit type casting) - 개발자가 형 변환을 하지 않은 경우, DBMS가 자동으로 형 변환하는 것
GROUP BY문 SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO; 테이블에서 소규모 행을 그룹화하여 합계, 평균, 최댓값, 최솟값 등을 계산할 수 있음 HAVING구에 조건문을 사용할 수 있음 ORDER BY를 사용해서 정렬할 수 있음 HAVING문 SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO HAVING SUM(SAL) > 10000; GROUP BY에 조건절을 사용하려면 HAVING을 사용해야 함 WHERE절에 조건문을 사용하게 되면 조건을 충족하지 못하는 데이터는 GROUP BY의 대상에서 제외되어버림 집계함수 COUNT( ) 행의 수 조회 SUM( ) 합계 계산 AVG( ) 평균 계산 MAX( ), MIN( ) 최..