SQL 7

[Oracle DB] SQL - VIEW / ROWNUM / INDEX / SEQUENCE / DCL(권한:GRANT, REVOKE)

* SQL QUERY : SELECT DML : INSERT, UPDATE, DELETE TCL : COMMIT, ROLLBACK > 트랜잭션을 제어할 목적으로 만들어진 언어 DDL : CREATE, ALTER, DROP, RENAME, TRUNCATE> 데이터 구조 정의 DCL : GRANT, REVOKE [ VIEW와 테이블 ] * 테이블에 대한 정보 보는 법 SELECT TABLE_NAME 2 FROM USER_TABLES; ↓ SELECT * FROM TAB; * 제약조건 확인 DESC USER_CONSTRAINTS > 필요한 걸 USER 뒤에 이름만 바꾸면 됨 * VIEW의 생성 - 형식: CREATE VIEW 이름 - 먼저, VIEW 생성 권한 주기 > 관리자 계정으로 다시 로그인 CONNEC..

Oracle DB 2023.02.28

[Oracle DB] SQL - QUERY(SELECT) / DML(UPDATE, INSERT, DELETE) / DDL(CREATE, ALTER, DROP)

* SQL문의 6가지 절 SELECT COL1, COL2, *, SAL*12(연산), ||, ALIAS, FUNCTION, DISTINCT, ‘문자열’ FROM TAB1, TAB2, TAB3 … WHERE CONDITION (> 조건 : 꼭 연산자가 와야 함) 1. 비교연산자 2. BETWEEN 작은값 AND 큰값 3. IN 4. LIKE 5. IS NULL GROUP BY COL1, COL2, …. > 두 값이 모두 동일한 애들끼리 소그룹 생성 Ex. 시간별 제품 판매량 / 제품별 판매량 HAVING CONDITION (> 조건 : 연산자 포함) 마찬가지로 1~5 But, WHERE : ROW에 대한 제한 HAVING: GROUP에 대한 제한 ORDER BY COL1 ASC (>생략하면 자동 ASC),..

Oracle DB 2023.02.24

[Oracle DB] SQL - SQL99(USING,ON) / MULTIPLE ROW FUNCTION / GROUP BY, HAVING / SUB QUERY(S.R.S, S.R.O, M.R.S, M.R.O)

[SQL99] * NATURAL JOIN - SQL99에서는 EQUI JOIN을 NATURAL JOIN이라고 함 - JOIN 없이 구하는 것과, CROSS JOIN의 경우 둘 다 데카르트의 곱에 따라 가능한 모든 조합이 생성됨 - 오히려 SQL99에서는 오류가 나지 않으려면 아래와 같이 써야 함. > DEPTNO가 E나 D에 포함되지 않는 것 SELECT E.ENAME, D.DNAME, DEPTNO 2 FROM EMP E NATURAL JOIN DEPT D; - 이름이 똑같은 컬럼을 찾아서 연결하기 때문에, 이름이 똑같은 열이 두 개 이상이면 사용하지 못함 > 두 테이블의 컬럼명이 동일한 것을 기준으로 연결될 때는, NATURAL JOIN 사용 불가 * USING - 동일한 컬럼명이 2개 이상일 땐, 어..

Oracle DB 2023.02.23

[Oracle DB] SQL - JOIN(equi join/nonequi join/self join/outer join), ORDER BY(ASC/DESC)

[각기 다른 두 테이블에서 자료를 가져오기] - ‘,’로 연결하면 SELECT ENAME, DNAME FROM EMP, DEPT; > 두 테이블의 행의 가능한 모든 조합이 발생 > 올바르게 자료를 선별하지 못해 모든 경우의 수를 다 계산하여 생성함 >> CARTESIAN PRODUCT : 데카르트의 곱 – 두 수의 조합만큼 만들어짐 > 행의 가능한 모든 조합 > TAB1 : M개 행 / TAB2 : N개 행 >> M*N행 : 따라서, 조인 조건 필요 * EMP.DEPTNO / DEPT.DEPTNO > 이렇게 테이블 명을 컬럼 앞에 써주면 엑세스 효율이 향상된다. - 테이블 이름이 너무 길면, 별칭 설정도 가능함 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2..

Oracle DB 2023.02.22

[Oracle DB] SQL(연산자/BETWEEN AND/IN/IS NULL), 데이터베이스 와일드 카드(%, _), SINGLE ROW FUNCTION(함수), SPOOL/SET TIMING

* SQL 시작 1 sqlplus scott/tiger cs * 연산자 SELECT COL1, COL2, FUNCTION, ALIAS, SAL*12, ‘ 문자 ‘, *, DISTINCT, || FROM TAB1 WHERE CONDITION (연산자) 1. 비교연산자 : >, =, 2~4는 앞에 NOT 붙이면 부정 가능, IS NULL은 IS NOT NULL이 부정 * BETWEEN AND와 IN SQL> SELECT EMPNO, ENAME, SAL 2 FROM EMP 3 WHERE SAL BETWEEN 1500 AND 3000; 두 코드는 같다. 근데 아래로 쓰는 게 더 좋음. 왜?? > 코드가 너무 길면 구간의 의미를 갖는 것이 눈에 잘 안들어옴 > BETWEEN AND라는 연산자를 쓰면 사이값이라는 ..

Oracle DB 2023.02.21

[Oracle DB] 데이터베이스의 개념과 SQL(+오라클 설치 테스트)

해당 게시물에서는 코드의 'SQL>' 부분이 제외됨 * DB 데이터 베이스 - Client와 server > server에 client가 무언가를 요청하면 server가 제공 > client와 server는 누가 정보를 요청하고 누가 제공하냐에 따라서 클라이언트와 서버로 나눠짐 *Oracle 다운로드 Oracle – resources – developer download – database – database enterprise * 다운로드 전에 사전 점검! 1. 기존에 오라클 설치 한 적 있는지 > uninstall(잘못하면 날아감) 2. 영문명으로 된 계정으로 로그인 후 > 개발자… 한글 xxx // 한글은 주석 정도만 > 사용자 이름이 영어여야 함 3. C or D : database.zip → c..

Oracle DB 2023.02.20