SQL

    [ Oracle sql ] 04. 데이터베이스 함수 (JOIN)

    1. JOIN : 하나 이상의 테이블에서 데이터를 조회하기 위해 사용 (테이블 간 연결) 종류 의미 내부 조인(INNER JOIN) 교차조인(CROSS JOIN = CARESIAN PRODUCT) 특별한 조건 없이 다른 두 테이블의 행을 조합한 결과 등가 조인(EQUI JOIN) 첫 번째 릴레이션과 두 번째 릴레이션의 차수를 합한 결과 비등가 조인(NON-EQUI JOIN) 동등비교를 하지 않는 조인으로 > , < , = , != 같은 비교등을 사용하는 것 자연 조인 (NATURAL JOIN) 조인에 참여한 속성이 두 번 나오지 않도록 중복된 속성 제거한 결과 외부 조인(OUTER JOIN) LEFT JOIN 왼쪽 기준으로 반환 *값이 비어있을 경우 NULL값 추가 RIGHT JOIN 오른쪽 기준으로 반..

    [ Oracle sql ] 03. 데이터베이스 함수 (그룹 함수)

    [ Oracle sql ] 03. 데이터베이스 함수 (그룹 함수)

    1. 그룹 함수 종류 의미 예시 결과 SUM 합계 SELECT SUM(SALARY) FROM EMPLOYEE; EMPLOYEE 테이블에서 SALARY 합계 AVG 평균 SELECT AVG(SALARY) FROM EMPLOYEE; *평균을 구할 때 SELECT AVG(NVL(BONUS, 0)) FROM EMPLOYEE; 사용 시 SUM(BONUS)/23 SELECT AVG(BONUS) FROM EMPLOYEE; 사용 시NULL을 가진 값은 평균 계산에서 제외되어 계산 EMPLOYEE 테이블에서 SALARY 평균 MIN 최소값 SELECT MIN(SALARY), MAX(SALARY) FROM EMPLOYEE; SELECT MIN(EMP_NAME), MAX(EMP_NAME) FROM EMPLOYEE; SELE..

    [ Oracle sql ] 02. 데이터베이스 함수 (단일 행 함수)

    1. 함수 (FUNCTION) (1) 단일 행 함수 : N개의 값을 읽어 N개의 결과 리턴 (2) 그룹 함수 : N개의 값을 읽어 한 개의 결과 리턴 SELECT 절에는 단일 행 함수와 그룹 함수를 함께 사용할 수 없다 : 결과 행의 개수가 다르기 때문 함수를 사용할 수 있는 위치 : SELECT절, WHERE절, GROUP BY절, HAVING절, ORDER BY절 2. 단일 행 함수 (1) 문자 관련 함수 종류 의미 예시 결과 LENGTH 글자 수 반환 SELECT LENGTH('오라클') FROM DUAL; 3 LENGTHB 글자의 바이트 사이즈 반환 *한글은 3byte 그 외 1byte SELECT LENGTHB('오라클') FROM DUAL; 9 INSTR 해당 문자열에 대한 처음 위치 *ZER..

    [ Oracle Sql ] 01.데이터베이스 기본 개념 및 실습 문제

    [ Oracle Sql ] 01.데이터베이스 기본 개념 및 실습 문제

    1. 계정 생성 워크 시트 자체가 계정에 모두 연결되는게 아니라 워크시트 안 하나하나의 쿼리 자체를 계정에 연결 시킬 수 있다. 관리자 계정 사용자 계정 시스템 계정으로 데이터베이스에 대한 생성과 관리를 담당하는 슈퍼 유저 계정 사용자 정의 클래스, 사용자 정의 예외 -> 필요에 의해 사용자 생성 오브젝트 생성, 변경, 삭제 등 작업 가능 데이터베이스에 대하여 작업(질의, 갱신 등)을 수행할 수 있는 계정 데이터베이스에 대한 모든 권한과 책임을 갖는 계정 일반 계정은 보안을 위해 업무에 필요한 최소한의 권한만 가지는 것을 원칙으로 함 내용 변경에 대한 권한 읽기만 가능(단순 조회) · 계정 생성 CREATE USER 계정명 IDENTIFIED BY 비밀번호; 12c 이상부터 계정을 만들기 위해 앞에 c#..

    [수업-JDBC] 01. JDBC 클래스

    [수업-JDBC] 01. JDBC 클래스

    Java DataBase Connectivity ( 기능구현 + 데이터 저장) : 자바에서 데이터베이스에 접근할 수 있게 해주는 API [기능 구현 클래스] 클래스 종류 의미 예시 Class.forName() 사용할 DB의 JDBC 드라이버 지정 Class.forName("orcle.jdbc.driver.OracleDriver"); DriverManager 연결할 계정 정보 지정 *class.forName을 먼저 지정 안해도 사용은 가능 하지만 문제발생위험 DriverManager.getConnection(""DBMS의 url", "연결할 계정명", "연결할 계정 비밀번호") : Connection Connection JAVA와 데이터베이스를 연결하는 실질적 통로 *NULL 값이 나올 경우 연결되지 않음..

    [프로그래머스-DB] 동명 동물 수 찾기

    [문제] 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문 작성 이때, 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회 두 번 이상 쓰인 이름 해당 이름이 쓰인 횟수 이름이 없는 동물 집계에서 제외 이름 순으로 결과 조회 [POINT] 해당 이름이 쓰인 횟수를 조회하기 위해 NAME을 GROUP BY 를 이용해 그룹으로 묶어 COUNT 합니다. 두 번 이상 쓰인 이름이라는 조건이 있기 때문에 그룹에 대한 조건은 HAVING절에 작성합니다. [문제풀이] 1. 두 번 이상 쓰인 이름을 조회하기 위해 HAVIG절에 COUNT(NAME) >=2 를 작성합니다. 2. 해당 이름이 쓰인 횟수를 조회하기 위해 SELECT절에 NAME(COUNT) ..