🗄 DB/📇 SQL
🚧
아무것도 없어요😢
-
[SQL] SEQUENCE📁 SEQUENCE 순차적으로 정수값을 자동 생성하는 데이터베이스 객체 개발자를 대신하여 컴퓨터가 고유 식별자를 자동으로 생성해주는 것 CREATE SEQUENCE 시퀀스명 START WITH 시작값 INCREMENT BY 증가치 MAXVALUE 최대값 MINVALUE 최소값 CYCLE CACHE 사이즈; 1) 표현식 START WITH 처음 발생시킬 시작값. 명시하지 않을 시 1로 설정 INCREMENT BY 다음 값에 대한 증가치. 명시하지 않을 시 1로 설정 MAXVALUE 발생시킬 최대값. 명시하지 않을 시 최대치로 설정 MINVALUE 발생시킬 최소값. 명시하지 않을 시 1로 설정 CYCLE, NOCYCLE 시퀀스가 최대값으로 증가한 후 MINVALUE 값으로 돌아갈지 에러를 발생시킬지 설정. ..🗄 DB/📇 SQL2022.09.07
-
[SQL] VIEW📁 VIEW 오라클 객체의 한 종류 SELECT 쿼리의 결과로 나온 Result Set을 화면에 저장한 논리적 가상 테이블 실질적으로 데이터를 저장하진 않지만 사용자는 테이블과 동일하게 사용 가능 1) 권한 부여 GRANT CREATE VIEW TO 유저명; 2) 객체 생성 CREATE VIEW 뷰명 AS SELECT 컬럼명, 컬럼명 FROM 테이블명; 3) 동기화 VIEW의 동작 방법은 다음과 같다. 뷰가 저장되어 있는 USER_VIEWS 테이블에서 해당 뷰를 찾는다. TEXT 컬럼에 저장된 SELECT문을 실행하여 결과값을 내보낸다. 따라서 테이블을 변경하면 그 결과가 뷰에도 반영된다. CREATE VIEW V_MEMBER AS SELECT ID, PW, AUTHORITY FROM MEMBER; IN..🗄 DB/📇 SQL2022.09.07
-
[SQL] DML : INSERT, UPDATE, DELETE📁 INSERT 테이블에 새로운 행을 추가하는 구문 1) INSERT INTO 컬럼명 생략 컬럼의 순서를 아는 경우 INSERT INTO 테이블명 VALUES(데이터, 데이터, 데이터...); 컬럼 명시 컬럼의 순서, 데이터를 넣을 컬럼을 임의로 지정 INSERT INTO 테이블명(컬럼명, 컬럼명, 컬럼명) VALUES(컬럼명, 컬럼명, 컬럼명); 서브쿼리 사용 서브쿼리를 통해 조회한 열들을 테이블에 삽입할 수 있다. VALUES를 사용하지 않는다. INSERT INTO 테이블명(서브쿼리) INSERT INTO EMPLOYEE (SELECT * FROM EMPLOYEE WHERE SALARY>6000000) 2) INSERT ALL 한번에 여러 테이블에 행을 추가하는 구문 반드시 서브쿼리와 함께 사용해야..🗄 DB/📇 SQL2022.09.06
-
[SQL] DDL : ALTER📁 ALTER 객체를 수정하는 구문 ALTER을 통해 DDL을 진행하면 트렌젝션이 완료되기 때문에 ROLLBACK 불가능 📁 ALTER TABLE 테이블을 생성한 후 수정하는 구문 1) 컬럼 추가 ADD 자료형, 제약조건, 디폴트 순서를 지켜야 한다. ALTER TABLE 테이블명 ADD (컬럼명 자료형(크기) 제약조건 DEFAULT 디폴트값); ,를 통해 여러개의 컬럼을 추가할 수 있음 ALTER TABLE 테이블명 ADD (컬럼명 자료형 제약조건 DEFAULT 디폴트값, 컬럼명 자료형 제약조건 DEFAULT 디폴트값); 2) 컬럼 삭제 DROP COLUMN 테이블에는 하나 이상의 컬럼이 남아있어야 한다. ALTER TABLE 테이블명 DROP COLUMN 컬럼명; 여러개의 컬럼을 삭제할 시 ,를 구분..🗄 DB/📇 SQL2022.09.05
-
[SQL] DDL : CREATE, DROP📁 CREATE 테이블, 인덱스, 뷰 등 데이터베이스 객체를 생성하는 구문 CREATE 객체종류 객체명 📁 CREATE TABLE CREATE를 사용해 테이블 생성 CREATE TABLE 테이블명( 컬럼명 자료형(크기), 컬럼명 자료형(크기), ... ); COMMENT 컬럼에 주석을 달 수 있다. COMMENT ON COLUMN 테이블명.컬럼명 IS '주석내용'; USER_TABLES Oracle에서는 테이블 목록을 조회하기 위한 시스템 뷰를 제공해 사용자 계정에 생성된 모든 테이블을 조회할 수 있다. SELECT * FROM USER_TABLES; 📁 제약조건 CONSTRAINTS 데이터의 무결성을 보장하기 위해 컬럼에 들어올 수 있는 데이터를 제약하는 것 입력 데이터에 문제가 없는지, 데이터의 수정..🗄 DB/📇 SQL2022.08.30
-
[SQL] DQL : SUBQUERY1. SUBQUERY SELECT문에 포함된 또다른 SELECT문 메인쿼리가 실행되기 전 한번만 수행 반드시 소괄호 ()로 묶어야 함 주로 WHERE절에서 사용 서브쿼리와 비교할 항목은 반드시 서브쿼리에서 SELECT한 항목의 개수와 자료형을 일치시켜야 2. 유형 1) 단일 행 서브쿼리 한 컬럼에 한 행만 포함되어 있는 서브쿼리 -- 월급을 가장 적게 받는 직원 정보 조회 SELECT * FROM EMPLOYEE WHERE SALARY = (SELECT MIN(SALARY) FROM EMPLOYEE); 2) 다중 행 서브쿼리 한 컬럼에 여러 행이 포함되어 있는 서브쿼리 메인쿼리의 비교조건과 비교하는 데에 주로 사용 IN, NOT IN 메인쿼리의 비교조건이 서브쿼리의 결과값 중 한개라도 일치하는 경우 IN..🗄 DB/📇 SQL2022.08.30
-
[SQL] DQL : JOIN📁 JOIN 하나 이상의 테이블에서 데이터를 조회하는 구문 한 테이블의 컬럼을 조건에 따라 다른 테이블의 컬럼과 연결지어 하나의 Result Set으로 출력한다. 한 테이블에 모든 데이터를 저장할 경우 구조적 비효율이 발생할 수 있다. 따라서 일반적으로는 구조의 효율성과 중복 제거를 위해 데이터를 여러 테이블에 쪼개서 저장한다. 이렇게 흩어진 데이터를 통합하여 조회해야 할 때, 테이블들을 연결하기 위해 사용하는 것이 바로 JOIN이다. 1. 내부 JOIN 연결된 컬럼들에서 서로 값이 일치하는 데이터들을 가져오는 JOIN 1) ANSI 표준 구문 JOIN 뒤에 연결할 테이블명 기술 ON 뒤에 연결할 컬럼명 기술 SELECT EMP_NAME, DEPT_TITLE FROM EMPLOYEE JOIN DEPART..🗄 DB/📇 SQL2022.08.29
-
[SQL] DQL : GROUP BY, HAVING, ORDER BYSELECTSELECT문은 다음과 같은 구조를 가지고 있다.SELECT 컬럼명 FROM 테이블명 WHERE 조건식 GROUP BY 그룹으로 묶을 컬럼명 HAVING 그룹함수 비교연산자 비교값 ORDER BY 정렬방식📁 GROUP BY그룹 함수가 적용될 그룹의 기준을 기술하는 절 그룹 함수는 한개의 결과값만 산출하기 때문에 Result Set에서 그룹이 여러개일 경우 오류가 발생한다. 따라서 그룹 함수를 사용할 때에는 GROUP BY절을 통해 그룹 개수와 일치하는 결과값을 만들어야 한다.SELECT AVG(SCORE) FROM STUDENT GROUP BY MAJOR;-- 전공별 점수 평균 출력 그룹 함수 외에 조회하는 모든 컬럼을 반드시 GROUP BY절에 추가해야 한다. 다음의 경우 MAJOR과 GEN..🗄 DB/📇 SQL2022.08.29
-
[SQL] DQL : SELECT, FROM, WHERE📁 SELECT문 SELECT절, FROM절은 필수적으로 들어가야 한다. SELECT 컬럼명 FROM 테이블명 WHERE 조건식 GROUP BY 그룹으로 묶을 컬럼명 HAVING 그룹함수 비교연산자 비교값 ORDER BY 컬럼명|별칭|순번 정렬방식 📁 SELECT 조회하고자 하는 컬럼명 기술 여러 컬럼을 조회할 때에는 쉼표로 구분. 마지막 컬럼에는 쉼표 사용하지 않음 모든 컬럼 조회시 컬럼명 대신 * 기호를 사용 SELECT 컬럼명 SELECT 컬럼명, 컬럼명 ... SELECT * 컬럼 별칭 지정 컬럼에 별칭을 지정할 수 있음 AS : 컬럼과 별칭을 연결. 생략 가능 별칭에 공백이 들어가거나 첫번째 글자가 숫자일 경우 더블쿼테이션을 사용해야 함 SELCET 컬럼명 별칭 SELCET 컬럼명 "별칭" SE..🗄 DB/📇 SQL2022.08.28
-
[SQL] 함수📁 함수 특정 값을 읽어서 계산한 결과를 리턴 단일 행 함수 N개의 값을 읽어서 N개의 결과값 리턴 - 문자 관련 함수, 숫자 관련 함수, 날짜 관련 함수, 형변환 함수 그룹 함수 N개의 값을 읽어서 1개의 결과 리턴 단일 행 함수와 그룹 함수는 같이 쓸 수 없음 Result Set에 올라갈 행의 갯수가 다르기 때문 📁 단일 행 함수 1) 문자 관련 함수 LENGTH 문자열 길이 반환 SELECT LENGTH('ABC') FROM DUAL;-- 3 SELECT LENGTH('오라클') FROM DUAL;-- 3 LENGTHB 문자열의 바이트수 반환 SELECT LENGTHB('ABC') FROM DUAL;-- 3 SELECT LENGTHB('오라클') FROM DUAL;-- 9 INSTR 해당 문자열의 ..🗄 DB/📇 SQL2022.08.25