Security/sql(15)
-
SQL-DML문의 이해, 트랜잭션과 잠금(lock)
실질적으로 데이터양의 변동이 일어남. 모든 작업은 테이블에서 행 단위로 일어나기 때문에 행을 일부만 지우거나 수정할 수는 없다. * INSERT, UPDATE, DELETE INSERT INTO [(컬럼, 컬럼, ... )] VALUES (값, 값, ...); UPDATE 테이블 SET 컬럼 = 값, 컬럼 = 값, ... [WHERE 조건]; // 수정하려는 특정 컬럼 테이블행의 조건을 기술 DELETE FROM 테이블 [WHERE 조건]; // 조건에 맞는 행들만 삭제 --------------------------------------------------------------- COMMIT; // 작업이 완료됐음을 의미. ROLLBACK; // 작업을 취소한다. COMMIT이나 ROLLBACK 하기..
2019.12.11 -
SQL-변환 함수, 그룹함수
* 변환함수 년도 : YYYY로 표기. 두 자리로는 표기하지 않는다. 월 : MONTH, NON도 있지만 공문서에는 MM으로 표기한다(ex : 03, 04) 일 : DD가 기본 형식(ex 01, 02)이며 필요할 경우 DAY(영문 또는 한글 요일)와 DY(약자로 표현된 요일)를 같이 써준다. 시 : HH24(24시 형식)이 기본이지만 HH(12시 형식)을 사용할 경우 AM/PM을 같이 사용한다. 분 : MI 초 : SS(두 자리 초 표시). SSSSSS 하루를 초로 환산한 표현 방식(0~86399) TO_CHAR : 날짜나 숫자를 문자로 변환. 내가 원하는 형태로 출력하고 싶을때 사용 ex) TO_CHAR(날짜, 출력형식), TO_CHAR(숫자, 출력형식) TO_DATE : 데이터를 날짜형으로 해석. e..
2019.12.10 -
SQL-집합연산자, 문자, 숫자, 날짜함수
* 집합연산 SELECT [UNION ALL | UNION | INTERSECT | MINUS] SELECT ... - 사실상 거의 UNION빼고는 사용하는 경우가 없다. [예제 1]2000년 이후에 입사한 사원과 부임한 교수의 명단을 검색 SELECT pno 번호, pname 이름, hiredate 입사일_부임일 FROM professor WHERE hiredate >= '2000/01/01' UNION ALL SELECT eno, ename, hdate FROM emp WHERE hdate >= '2000/01/01'; [예제 2]제갈씨 성을 가진 사원 중에 지원 업무를 하지 않는 사원을 검색 SELECT eno, ename ,job FROM emp WHERE ename LIKE '제갈%' MINUS..
2019.12.09 -
SQL-서브쿼리
* 서브 쿼리 - 서브 쿼리는 WHERE절, HAVING절과 같이 조건 절에 주로 쓰이고 FROM절에 쓰이는 경우도 있다. - FROM절에 쓰인 서브 쿼리는 인라인 뷰라고 부른다. 단일 행 서브 쿼리 : 서브 쿼리가 하나의 컬럼에서 하나의 행을 검색 다중 행 서브 쿼리 : 서브 쿼리가 하나의 컬럼에서 여러 개의 행을 검색 다중 열 서브 쿼리 : 서브 쿼리가 여러개의 컬럼을 검색 * 단일 행 서브 쿼리 SELECT [DISTINCT | ALL] 컬럼, 컬럼 ... FROM 테이블 WHERE 컬럼 단일_행_연산자 (SELECT 문장) - 단일 행 연산자가 사용됨으로 반드시 서브 쿼리의 결과 값은 한 개만 검색 - 단일 행 연산자 오른쪽에 기술(=, >, =, (SELECT sal FROM emp WHERE ..
2019.12.06 -
SQL-모델링, join
* 모델링 일반 컬럼들이 프라이머리 키 컬럼에 함수적 종속관계에 있음. 언어적으로 표현하면 DNO -> (DNAME, LOC) 또는 DNO는 *(*는 일반 컬럼)를 식별할 수 있다. * 등가 조인과 비등가 조인 SELECT 테이블1.컬럼, 테이블2.컬럼, ... FROM 테이블1, 테이블2, ...WHERE 조인_조건 AND 일반_조건 - SELECT절에 테이블명을 적어줘야 하지만 참조하려는 테이블중 컬럼명이 유일할 경우 테이블 명 생략 가능 - FROM절에 테이블 2개 이상이 오면 JOIN절 - JOIN 조건의 갯수는 테이블이 n개라고 가정하면 최소 n-1개 이상이다. - 등호를 사용 하는 등가 조인과 부등호를 사용하는 비등가 조인이 있다. - 테이블간 관계를 파악하고 있어야 JOIN을 사용할 수 있다..
2019.12.05 -
SQL-관계 연산자와 LIKE 연산자, BETWEEN, IN
관계 연산자 SELECT [DISTINCT | ALL] 컬럼, 컬럼... FROM 테이블 WHERE [관계 연산자 조건] ORDER BY 컬럼 ASC, 컬럼 ASC.. [예제] #SQL > SELECT * FROM emp WHERE dno = '20' AND sal >= 2000 AND job = '모델링'; -> 20번 부서 사원중에 급여가 2000이상이고, 모델링 업무를 담당하는 사원 검색 #SQL > SELECT * FROM emp WHERE (dno = 10 OR sal > 1600) AND comm > 600; -> AND와 OR 연산자를 같이 사용할때는 연산순서상 문제가 없더라도 괄호를 반드시 사용 LIKE 연산자 SELECT [DISTINCT | ALL] 컬럼, 컬럼... FROM 테이블 W..
2019.12.04