SQL 8

05. 서브쿼리

하나의 SQL문 안에 포함된 또 다른 SELECT문메인 SQL문을 위에 보조 역할 하는 쿼리 예시1)노옹철 사원과 같은 부서에 속한 사원들을 조회 1234SELECT EMP_NAMEFROM EMPLOYEEWHERE DEPT_CODE = 'D9'; cs 노옹철 사원은 어떤 부서일까? 123SELECT DEPT_CODEFROM EMPLOYEEWHERE EMP_NAME = '노옹철';cs 위에 두 쿼리를 하나의 쿼리로 변경하자12345SELECT EMP_NAMEFROM EMPLOYEEWHERE DEPT_CODE = (SELECT DEPT_CODE                    FROM EMPLOYEE                    WHERE EMP_NAME = '노옹철');cs 서브쿼리의 구분서브쿼리를..

SQL 2024.08.16

04. JOIN

두개 이상의 테이블에서 데이터를 조회하고자 할 때 사용되는 구문조회 결과는 하나의 결과(RESULT SET)를 반환한다. 관계형 데이터베이스에선는 최소한의 데이터를 각각의 테이블에 담고 있음(무작정 다 조회해 오는게 아니라 각 테이블 간 연결고리(외래키)를 통해 데이터를 매칭시켜 조회해야한다.) JOIN은 크게 "오라클 전용구문" "ANSI 구문"으로 나뉜다.         [용어정리]오라클 전용 구문ANSI 구문등가조인(EQUAL JOIN)내부조인(INNER JOIN => JOIN USING/ON)포괄조인LEFT, RIGHT외부조인LEFT, RIGHT, FULL자체조인비증가 조인JOIN ON 1. 등가조인(EQUAL JOIN / 내부조인(INNER JOIN)    연결시키는 컬럼의 값이 일치하는 행들만..

SQL 2024.08.14

03. GROUP_BY , HAVING

그룹기준을 제시할 수 있는 구문(해당 그룹기준별로 여러 그룹을 묶을 수 있음)여러개의 값들을 하나의 그룹으로 묶어서 처리하는 목적으로 사용 EX)각 부서별로 급여 총합각 부서들이 전부 그룹1234SELECT DEPT_CODE, SUM(SALARY)FROM EMPLOYEEGROUP BY DEPT_CODE; cs그룹에 대한 조건을 제시할 때 사용되는 구문(주로 그룹함수식을 가지고 조건을 만든다) EX)각 부서별 평균급여가 300만원 이상인 부서들만 조회(부서코드 평균급여) 12345SELECT DEPT_CODE, ROUND(AVG(SALARY))FROM EMPLOYEEGROUP BY DEPT_CODEHAVING AVG(SALARY) >= 3000000; Colored by Color Scriptercs   ..

SQL 2024.08.14

02. 함수(FUNCTION) PART.2

ABS숫자의 절대값을 구해주는 함수 1SELECT ABS(-10), ABS(-6.3) FROM DUAL;cs MOD두 수를 나눈 나머지값을 반환 1SELECT MOD(10,3) FROM DUAL;cs ROUND반올림한 결과를 반환ROUND(NUMBER, [위치]) 1SELECT ROUND(123.456) FROM DUAL;cs CEIL올림처리를 위한 함수CEIL(NUMBER)1SELECT CEIL(123.456) FROM DUAL;cs FLOOR, TRUNC버림처리함수TRUNC(NUMBER, [위치]) 1SELECT TRUNC(123.952) FROM DUAL;csSYSDATE : 시스템의 현재 날짜 및 시간을 반환 1SELECT SYSDATE FROM DUAL;csMONTH_BETWEEN : 두 날짜 ..

SQL 2024.08.13

02. 함수(FUNCTION) PART.1

SELECT로 가장 마지막 줄에 작성, 실행순서 또한 가장 마지막에 실행한다. [표현법]SELECT 조회할 컬럼FROM 조회할 테이블WHERE 조건식ORDER BY정렬기준될 컬럼 | 별칭 | 컬럼순번 [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] ASC : 오름차순(작은 값으로 시작해서 값이 점점 커지는 것) -> 기본값 DESC : 내림차순(큰값으로 시작해서 값이 점점 줄어드는 것)      NULL은 기본적으로 가장 큰 값으로 분류해서 정렬한다. NULLS FIRST : 정렬하고자 하는 컬럼값에 NULL이 있을 경우 해당데이터 맨 앞에 배치(DESC일 때 기본값) NULLS LAST : 정렬하고자 하는 컬럼값에 NULL이 있을 경우 해당데이터 맨 마지막에 배치(ASC일..

SQL 2024.08.13

01. DQL(SELECT) PART.2

비교하고자는 컬럼값이 내가 제시한 특정 패턴에 만족할 경우 조회[표현법]비교한 대상컬럼 LIKE '특정패턴';  - > 일치하는 것만 가져온다. 특정패턴을 제시할 때 와일드카드라는 특정패턴이 정의되어야한다.1. '%' : 포함문자 검색(0글자 이상 전부 조회)EX) 비교할 대상 컬럼 LIKE '문자%' : 비교할 대상컬럼 값 중에서 해당문자로 시작하는 값들만 가져온다.        비교할 대상 컬럼 LIKE '%문자' : 비교할 대상컬럼 값 중에서 해당문자로 끝나느 값들만 가져온다.        비교할 대상 컬럼 LIKE '%문자%' : 비교할 대상컬럼 값 중에서 해당문자로 포함된 값 조회 2. '_' : 1글자를 대체하는 검색EX) 비교할 대상 컬럼 LIKE '_문자' : 비교대상컬럼값 문자 앞에 아무..

SQL 2024.08.12

01. DQL(SELECT) PART.1

[표현법]SELECT 가져오고 싶은 정보 FROM 테이블;SELECT (*) 또는 컬럼1, 컬럼2, 컬럼3 ... FROM 테이블; EX1)모든 사원의 모든 정보를 보여줘123SELECT * FROM EMPLOYEE;csEX2)사원명, 사번, 전화번호를 보여줘123SELECT EMP_NAME, EMP_ID, PHONE FROM EMPLOYEE;cs산술 연산을 하게 되면 컬럼명이 지저분해진다. 이때 컬럼명에 별칭을 부여해서 깔끔하게 가져올 수 있다.[표현법]컬럼명 별칭 / 컬럼명 AS 별칭 / 컬럼명 "별칭" / 컬럼명 AS "별칭" 임의로 지정한 문자열(' ')조회된 결과의 모든 행에 반복적으로 출력 여러 컬럼값들을 마치 하나의 컬럼처럼 연결할 수 있다. 중복제거 - 컬럼에 표시된 값들을 한번씩만 조회하..

SQL 2024.08.12

데이터베이스 정

data란? - 관찰 결과로 나타난 정량적 혹은 정성적인 실제 값 정보란? - 데이터를 기반으로 의미를 부여한 것 * 에베레스트의 높이 : 8848m ->  Data   에베레스트는 세계에서 가장 높은 산이다. -> 정보 database란? - 한 조직에 필요한 정보를 여러 응요시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합/저장해놓은 것. > Database의 특징 - 실시간 접근성 : 사용자가 데이터 요청 시 실시간으로 결과서비스 - 계속적인 변화 : 데이터 값은 시간에 따라 항상 바뀜 - 동시 공유 : 서로 다른 업무 또는 여러 사용자에게 동시 공유됨 - 내용에 의한 참조 : 사용자가 요구하는 데이터 내용으로 데이터를 찾는다. DBMS란? ..

SQL 2024.08.12