2024.12.27(금) 9일차 / 시퀀스
·
SQL ORACLE
SQL 을 하다보면 데이터들의 값이 누적되어 한 컬럼에 적립 되는 경우가 많다.이때 시퀀스(SEQUENCE)를 사용하게 되면 보다 편하게 누적시킬 수 있다.시퀀스란 자동으로 숫자를 발생시켜주는 역할을 하는 객체이다.정수값을 순차적으로 일정하게 증가시키면서 생성해준다.EX) 회원번호, 사원번호, 게시글번호 ...기본 문법만 봐도 알 수 있듯이 여러가지 값들을 넣을 수 있다. 이 값들로 인해 편리하게 값들을 정리할 수 있다.옵션 설명START WITH시퀀스의 시작값을 설정함.기본값은 1임.INCREMENT BY증가 값을 설정함.양수: 값이 증가, 음수: 값이 감소.기본값은 1임.MAXVALUE / NOMAXVALUE시퀀스의 최대값을 설정함.기본값은 NOMAXVALUE(제한 없음)임.MINVALUE / NOM..
2024.12.24(화) 7일차 / DDL(2)
·
SQL ORACLE
1. ALTER- 객체를 변경하는 구문ALTER TABLE 테이블명 변경할내용* 변경할 내용1) 컬럼 추가/수정/삭제2) 제약조건 추가/삭제 -> 수정불가3) 컬럼명/제약조건명/테이블명변경1-1. 컬럼 삭제용 DROP- 컬럼을 삭제하고 싶을 때 사용함.DROP COLUMN 삭제하고 싶은 컬럼명 2. 테이블 삭제용 DROP- 어딘가에 참고되어 있는 부모테이블은 함부로 삭제가 되지 않는다.- 만약 지우고 싶다면 - 1. 자식테이블 먼저 삭제 - 2. 부모테이블 삭제하는데, 제약조건까지 삭제해야함. DROP TABLE 테이블명 CASCADE CONSTRAINT 3. 컬럼명/제약조건명/테이블명 변경3-1. 컬럼명- RENAME COLUMN 기존 컬럼명 TO 바꿀 컬럼명3-2. 제약조건명- RENAME CONST..
2024.12.24(화) 7일차 / DML (데이터 조작어)
·
SQL ORACLE
DML (DATA MANIPULATION LANGUAGE)- 데이터베이스 사용자 또는 응용 소프트웨어가 컴퓨터 데이터베이스에 대해 데이터삽입(INSERT), 삭제(DELETE), 갱신(UPDATE)을 위한 테이터베이스 언어이다. 1. INSERT- 테이블에 새로운 행을 추가하는 구문이다.INSERT INTO VALUES (값, 값, 값 ...);- 테이블의 모든 컬럼에 대한 값을 하나하나 작성해서 한 행을 삽입하려고 할 때, 컬럼의 순서를 지켜서 괄호 안에 값을작성해야 한다.- 값을 적게, 혹은 많이 적었을 경우, 에러가 나온다.2. UPDATE- 테이블에 기록되어 있는 기존의 데이터를 수정하는 구문UPDATE 테이블명 SET 컬럼 ='값', '값' ... WHERE 조건 -> 생략시 전체 모든 행의 데..
2024.12.23(월) 6일차 / DDL (데이터 정의어)
·
SQL ORACLE
데이터 정의어(DDL) : 오라클에서 제공하는 격체를 새로 만들고(CREATE), 구조를 변경하고(ALTER), 구조 자체를 삭제(DELETE)하는 언어이다. 즉 실체 데이터값이 아닌 규칙 자체를 정의하는 언어이다. 1. CREATE - 객체를 새로 생성하는 구문1-1. 테이블 생성테이블 : 행과 열로 구성되는 가장 기본적인 데이터베이스 객체, 모든 데이터들은 테이블을 통해 저장됨.(DBMS 용어 중 하나로, 데이터를 일종의 표 형태로 표현함)[표현식]     CREATE TABLE 테이블명 (         컬럼명 자료형 (크기),         컬럼명 자료형 (크기),         컬럼명 자료형         ...         )              *자료형     - 숫자 (NUMBER) ..
JOIN / ORACLE 과 ANSI 의 차이점
·
SQL ORACLE
SQL 을 하다보면 다른 테이블에서 공통된 컬럼을 토대로 데이터를 뽑아야 할 일이 있는데, 이때 JOIN 절을 사용한다.이때 공통된 데이터 = 외래키 라고 하며 JOIN절은 꼭 외래키가 있어야 사용할 수 있다. 간단하게 공통된 데이터를 다른 테이블에서 가져오려고 JOIN 을 사용한다고 생각하면 된다. JOIN 은 ORACLE 과 ANSI 전용 구문으로 나뉘어진다. 실제로는 ANSI 전용 구문을 많이 사용하는데, 그 이유는 가독성과 표준화, 기능확장 때문이다. ORACLE 에서는 WHERE 절로만 조건을 사용하지만 ANSI 는 JOIN 키워드를 명시적으로 사용한다. 별 차이 없어보이지만 실제로 코드를 작성하면 가독성의 차이가 크다. 오라클의 경우 JOIN 을 사용하지 않고 FROM 절에 2개의 테이블을 가..
2024.12.19(목) / 4일차 / 서브쿼리
·
SQL ORACLE
*서브쿼리 - 하나의 SQL 문 안에 포함된 또 다른 SELECT 문- 메인 SQL문을 위해 보조 역할을 하는 쿼리 *서브쿼리의 구분단일행, 다중행, 다중열 등의 서브쿼리를 분류하는 기준은 결과값의 형태이다.구체적으로 서브쿼리가 반환하는 행(가로)의 수와 열(세로)의 수를 기준으로 나눈다. 1. 단일행 서브쿼리- 서브쿼리의 결과가 한 개의 행과 한 개의 열인경우, 일반적으로 비교연산자(=, )와 함께 사용됨 서브쿼리(SELECT AVG(SALARY) FROM EMPLOYEE) 는 전체 직원의 평균 급여를 반환함.결과는 단일 값이며, 이를 SALARY 와 비교함. 2. 다중행 서브쿼리서브쿼리의 결과가 여러 행이지만, 한개의 열로 반환되는 경우, 다중행 비교 연산자(IN, ANY, ALL)과 함께 사용됨서브..
2024.12.18(수) / 3일차 / GROUP_BY, HAVING
·
SQL ORACLE
GROUP BY 절은 SQL 에서 데이터를 특정 기준으로 그룹화하여 집계연산을 수행할 때 사용하는 절이다.회사 데이터, 쇼핑몰 데이터, 학교 데이터 등등 많은 데이터를 한 그룹으로 묶어서 표현하고 싶을 때 사용한다.HAVING 절은 SQL 에서 그룹화된 데이터에 조건을 적용하여 필터링할때 사용하는 절이다.GROUP BY 절과 함께 사용되며, 집계 함수 결과에 대한 조건을 지정하는데 유용하다. 이제 회사 데이터로 예시를 들어보겠다.여러가지 테이블들이 나오는데, 여기서 본인이 묶고 싶은 그룹이 있을 것 이다.나는 부서로 묶어보겠다.GROUP BY 'department' 로 묶은 게 보이는데, 해당 코드를 해석하자면 다음과 같다.employes 테이블에 있는 department 라는 그룹으로 부서를 반환하고,..
SQL Developer 설치 및 계정 생성하는 방법
·
SQL ORACLE
오늘은 SQL Developer 설치 및 계정을 어떻게 생성하는지에 대해 알아보겠습니다.SQL Developer 는 Oracle 에서 제공하는 SQL 쿼리 개발 및 데이터베이스 관리를 도와주는 통합개발환경(IDE) 입니다.Oracle 만 설치했다면, 우리는 cmd 창을 통해서만 SQL 쿼리문을 작성할 수 있겠지만,IDE의 존재로 보다 편하게 작업을 진행할 수 있습니다.  SQL Devloper 을 설치하기 전에 Oracle 을 먼저 다운받아야 합니다.비밀번호는 1234 같은 본인이 기억하기 쉬운것으로 설정해놓는 걸 권장합니다.https://www.oracle.com/database/technologies/xe-downloads.html Oracle Database Express Edition (XE) D..
2024.12.17(화) / 2일차 연산자와 함수(2)
·
SQL ORACLE
*LENGTH(컬럼 | '문자열') : 해당 문자열의 글자수를 반환     *LENGTHB(컬럼 | '문자열') : 해당 문자열의 바이트수를 반환          '최' '나' 'ㄱ' 한글은 글자당 3BYTE     영문자, 숫자, 특수문자, 글자당 1BYTE *INSTR     문자열로부터 특정 문자의 시작위치를 찾아서 반환        INSTR(컬럼 | '문자열', '찾고자 하는 문자', ['찾을 위치의 시작값', 순번]) -> 결과는 NUMBER로 나옴*SUBSTR / 자주 사용     문자열에서 특정 문자열을 추출해서 반환          [표현법]     SUBSTR(컬럼 | '문자열', 추출할 시작위치, [추출문자 갯수])*LTRIM/RTRIM     문자열에서 특정 문자를 제거한 나머지를 ..
2024.12.17(화) / 2일차 연산자와 함수 (1)
·
SQL ORACLE
1. AND , OR 연산자조건을 여러개 연결할 때 사용한다.표현법조건 A  AND 조건B -> 조건A와 조건 B가 모두 만족하는 값만 참으로 한다.조건 A OR 조건 B -> 조건A와 조건B 중 하나만 만족해도 값을 참으로 한다. 2. BETWEEN AND조건식에 사용되는 구문몇 이상, 몇 이하인 범위에 대한 조건을 제시할 때 주로 사용되는 연산자 이다.표현법비교대상 컬럼 BETWEEN 하한값 AND 상한값;3.       비교하고자하는 컬럼값이 내가 제시한 특정 패턴에 만족할 경우 조회          [표현법]     비교할 대상컬럼 LIKE '특정패턴'; -> 일치하는것만 가져온다          특정패턴을 제시할 때 와일드카드라는 특정패턴이 정의되어있다.     1. '%' : 포함문자 검색(0..