본문 바로가기

전체 글

(275)
[Web_DBMS] 11 ● SUBSTR() 1. SUBSTR(컬럼명, 시작번호, 길이) - 시작 번호부터 길이만큼 자르기 2. SUBSTR(컬럼명, 시작번호) - 시작 번호부터 마지막까지 자르기 ● DCL(Data Control Language) : 데이터 제어어 1. GRANT - 권한 부여 2. REVOKE - 권한 해제 실습(종합 정리) 1. PLAYER 테이블에서 키가 NULL인 선수들은 키를 170으로 변경하여 평균 구하기(NULL 포함) SELECT ROUND(AVG(NVL(HEIGHT, 170)), 2) "평균 키" FROM PLAYER; 2. PLAYER 테이블에서 팀 별 최대 몸무게 SELECT TEAM_ID, MAX(WEIGHT) || 'kg' "최대 몸무게" FROM PLAYER GROUP BY TEAM_I..
[Web_DBMS] 10 ● JOIN - 여러 테이블에 흩어져 있는 정보 중 사용자가 필요한 정보만 가져와서 가상의 테이블처럼 만들고 결과를 보여주는 것 - 정규화를 통해 조회 테이블이 너무 많이 쪼개져 있으면 작업이 불편하기 때문에 입력, 수정, 삭제의 성능을 향상시키기 위해서 JOIN을 통해 합친 후 사용한다. 1. 내부 조인(INNER JOIN) - 조건이 일치하는 값만 합쳐서 조회 - 선행 JOIN 후행(자료가 많은 쪽을 후행으로 정한다.) 테이블명A INNER JOIN 테이블명B ON 조건식 ※ INNER는 생략 가능하다. 테이블명A JOIN 테이블명B ON 조건식 (1) 등가 조인 - ON 절에 등호가 있을 때 (2) 비등가 조인 - ON 절에 등호가 없을 때 ● SQL 실행 순서 FROM > ON > JOIN > W..
[Web_DBMS] 09 ● CASE문 CASE 컬럼명 WHEN 값 THEN 컬럼명 또는 값 END ● SUB QUERY 1. FROM 절 : IN LINE VIEW 2. SELECT 절 : SCALAR 3. WHERE 절 : SUB QUERY ● SQL 실행 순서 FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY ● ROWNUM - 결과 행 앞에 1부터 1씩 증가하는 시퀀스를 붙여준다. ※ FROM절에서 AS 사용 - AS를 사용해서는 안되고 공백으로만 구분해야 한다. ● 옵티마이저(OPTIMIZER) - SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로(최저 비용)를 생성해주는 DBMS 내부의 핵심 엔진 - 사용자가 쿼리문(SQL)으로 결과를 요청하면, 이를 생성하는 데 필..
[Web_DBMS] 08 ● 숫자형 함수 1. ABS() : 절대값 2. SIGN() : 정수 판별 3. MOD() : 나머지 4. CEIL() : 값보다 큰 최근접 정수(올림) 5. FLOOR() : 값보다 작은 최근접 정수(내림) 6. TRUNC() : 버림 7. ROUND() : 반올림 ● 집계 함수 - 여러 개의 값을 하나의 값으로 집계하여 나타낸다. - NULL은 포함하지 않는다. - WHERE 절에서는 사용할 수 없다. 1. AVG() : 평균 2. MAX() : 최대값 3. MIN() : 최소값 4. SUM() : 총 합 5. COUNT() : 개수 ● 정렬(ORDER BY) - ASC : 오름 차순(DEFAULT) - DESC : 내림 차순 ● GROUP BY(~별) GROUP BY 컬럼명 HAVING 조건식 - ..
[Web_DBMS] 07 ● AS(ALIAS) : 별칭 - 결과 테이블에 표현할 컬럼명을 변경하고자 할 때 사용한다. - 길고 복잡한 컬럼명을 쉽게 사용하기 위해 사용한다. 1. SELECT절 - 컬럼명 뒤에 AS 또는 한 칸 띄어쓰고 작성한다. ● CONCATENATION : 연결 (ex) '안녕' || '하세요' ● LIKE - 포함된 문자열 값을 찾고, 문자의 개수에 제한을 줄 수 있다. - % : 모든 것 - _ : 글자 수 (ex) '%A' : A로 끝나는 모든 값(FDNMSKA, 123FNDSA, ...) (ex) 'A%' : A로 시작하는 모든 값(ADSF, A2193DK, AAA, ADD, ...) (ex) 'A__' : A로 시작하면서 3글자인 값(ABC, AAA, ADD, ...) (ex) '_A' : A로 끝..
[Web_DBMS] 06 ● 조합키(복합키) - 두 개 이상의 컬럼을 하나의 PK로 설정 (1) PRIMARY KEY CONSTRAINT [제약조건명] PRIMARY KEY(컬럼명1, 컬럼명2, ...) (2) FOREIGN KEY CONSTRAINT [제약조건명] FOREIGN KEY(컬럼명1, ...) REFERENCES [부모 테이블명](부모컬럼명1, 부모컬럼명2, ...) ● TCL(Transaction Control Language) - 트랜젝션 제어어 1. 트랜젝션 - 하나의 작업 단위 2. COMMIT - 모든 작업을 확정하는 명령어 3. ROLLBACK - 이전 커밋한 지점(시점)으로 이동 ※ TRUNCATE는 테이블 내용을 전체 삭제하므로, DELETE보다 빠르게 처리할 수 있다. 대용량 데이터 처리에 유리하지만..
[Web_DBMS] 05 ● DML(Data Manipulation Language) - 데이터 조작어 1. SELECT : 조회(검색) (1) 원하는 컬럼을 골라서 조회할 때 SELECT [컬럼명1, 컬럼명2, ...] FROM [테이블명] WHERE 조건식; (2) 전체 컬럼을 조회할 때(대신 컬럼명을 직접 작성하는 것보다는 느리다.) SELECT * FROM [테이블명]; 2. INSERT : 추가 (1) 일부 컬럼을 생략할 수 있다.(이 때 default 제약조건이 발동된다.) INSERT INTO [테이블명] ([컬럼명1], [컬럼명2], [...]) VALUES([값1], [값2], [...]); (2) 모든 값을 전부 작성해야 되며, 컬럼명은 직접 작성하지 않는다. INSERT INTO [테이블명] VALUES([값..
[Web_DBMS] 04 실습(조합키(1)) 1. 요구사항 분석 - 꽃 테이블과 화분 테이블 2개가 필요합니다. - 꽃을 구매할 때 화분도 같이 구매합니다. - 꽃은 이름, 색상, 가격이 있습니다. - 화분은 제품번호, 색상, 모양이 있습니다. - 화분은 모든 꽃을 담을 수 없고 맞는 꽃들을 담아야 합니다. 2. 개념적 설계 3. 논리적 설계 4. 물리적 설계 5. 구현 - 테이블 생성(FLOWER) CREATE TABLE FLOWER( FLOWER_NAME VARCHAR2(1000), FLOWER_COLOR VARCHAR2(1000), FLOWER_PRICE NUMBER, CONSTRAINT PK_FLOWER PRIMARY KEY(FLOWER_NAME, FLOWER_COLOR) /*조합키일 경우 CONSTRAINT 명령어를 통..