티스토리

korany
검색하기

블로그 홈

korany

korany0410.tistory.com/m

korany 님의 블로그입니다.

구독자
2
방명록 방문하기

주요 글 목록

  • [DBMS_16] VIEW (원하는 정보로만 구성된 조회 목적 가상 테이블 ) 1.뷰의 생성구문 create view 뷰이름 as sql문(select문) ; 예) 사원 테이블에 부서번호 30인 사원들의 뷰 생성하기 create view emp30 as select * from employee where dno=30; CREATE or REPLACE VIEW myemp( empno, hire, job ) AS --컬럼의 별칭 SELECT employee_id, hire_date, job_id FROM employees; --모든 컬럼 조회할 수 있는 view 테이블 CREATE or REPLACE VIEW myemp AS SELECT * FROM employees; -- 사원테이블의 모든정보(s.*)에 full_name을 추가한 VIEW CREATE or REPLACE VIEW m.. 공감수 0 댓글수 0 2023. 3. 13.
  • [DBMS_15] SEQUENCE(중복되지 않는 연속 번호 만들기 ex.기본키) 시퀀스란 : 중복되지 않는 연속적인 번호를 만들어 주는 키워드 (회원번호, 일련번호) 형식 CREATE SEQUENCE 시퀀스명 START WITH 시작값(기본값1) INCREMENT BY 증가값(기본값1) MAXVALUE 최대값(기본값은 거의 무한대) MINVALUE 최소값 CACHE / NOCHACHE (시퀀스의 속도를 위한 캐쉬 사용) 시퀀스 만들기 CREATE SEQUENCE --goods테이블 생성 CREATE table goods( no NUMBER(3) primary key, name VARCHAR2(200) unique ); -- goods테이블에서 사용할 시퀀스 지정 CREATE SEQUENCE goods_no_seq nocache; --테이블에 값 입력 INSERT INTO goods .. 공감수 0 댓글수 0 2023. 3. 10.
  • [DBMS_14] TRANSACTION (rollback 과 commit) 트랜잭션이란? DB의 상태를 변화시키기 위해 수행하는 작업의 단위 INSERT / DELETE / UPDATE 작업을 완료한 뒤 COMMIT 필수! 더보기 [DBMS_02] TABLE 문법 정리 1. CREATE table - 테이블 생성하기 person table 생성 CREATE table Person( id NUMBER(3) primary key, --기본키 name varchar2(50) ); 더보기 member_t 테이블 생성 create table member_t( id varchar2(50), pwd varchar2(20) not null, -- null값 korany0410.tistory.com 1. 커밋 안했을때 rollback 하기 -- 사원테이블의 전체 사원 수 조회 SQL> sele.. 공감수 0 댓글수 1 2023. 3. 10.
  • [DBMS_13] 서브 쿼리 (SELECT 문장 안에 SELECT 중첩) 여러번의 DB접속이 필요한 상황을 한번으로 줄여 속도증가에 도움을 줄 수 있다. 서브쿼리를 사용하는 곳 1. WHERE , HAVING 절 예제) 사원테이블에서 이름이 Michael이고 직종이 MK_MAN인 사원의 급여보다 초과해서 받는 사원들의 정보를 사번, 이름, 직종, 급여 순으로 출력 첫번째 select접근) 이름이 마이클이고 직종이 MK_MAN인 사원의 급여 구하기 SELECT salary FROM employees WHERE first_name = 'Michael' AND job_id = 'MK_MAN'; 두번째 select접근) 첫번째 select로 얻은 급여값 13000을 초과하는 직원을 조회 SELECT employee_id, first_name, job_id, salary FROM em.. 공감수 0 댓글수 0 2023. 3. 10.
  • [DBMS_12] HAVING절 ( GROUP함수의 조건 비교는 WHERE대신 HAVING) HAVING 그룹함수를 포함하고 있을 때 조건을 비교할 때 WHERE 대신 HAVING을 사용한다! 예제1) 직종, 부서별 인원수를 출력하되, 인원수가 10명 이상인 부서만 출력 SELECT department_id, COUNT(*) FROM employees GROUP BY department_id WHERE COUNT(*) >= 10; -- 그룹함수를 포함하고 있을땐 WHERE절에서 조건을 비교하지 못한다 HAVING COUNT(*) >= 10; -- HAVING을 사용해야 함 예제2) 직종, 직종별 최대 급여를 출력하되, 최대급여가 5000을 초과하는 결과만 출력 SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVI.. 공감수 0 댓글수 0 2023. 3. 9.
  • [DBMS_11] GROUP BY (그룹 함수를 일반 함수와 사용할 수 있게) GROUP BY 원래 그룹함수와 일반컬럼은 함께 조회할 수없다! (그룹함수는 딱 한개만의 결과를 출력해야해서 일반컬럼이 추가 될 수 없기 때문) SELECT COUNT(*), first_name FROM employees; SELECT job_id, COUNT(*) FROM employees; 그룹함수와 일반함수를 함께 조회하고싶다면 => GROUP BY를 사용해야 한다 그룹 함수란? 더보기 그룹함수란? 여러개의 행 또는 테이블 전체에 대하여 하나의 결과만을 가져오는 함수 그룹함수만 일반컬럼과 함께 사용될 수 없다 1) AVG() : 평균 구하는 함수 2) COUNT() : 행의 개수를 반환하는 함수 (null 값은 무시함) 3) MAX() : 최대값을 구하는 함수 4) MIN() : 최소값을 구하는 함.. 공감수 0 댓글수 0 2023. 3. 9.
  • [DBMS_10] JOIN 키워드 JOIN 테이블과 테이블을 연결하여 원하는 데이터를 얻고자 할 때 사용 1) FROM WHERE 을 이용한 기본 방식 더보기 1) FROM WHERE 을 이용한 기본 방식 --예제1) 사원, 부서테이블로 부터 이름, 부서번호, 부서명을 출력하고싶다 단, 사원 테이블과 부서테이블의 department_id가 같은 경우에만 출력 SELECT emp.first_name, emp.department_id, dept.department_name FROM employees emp, departments dept WHERE emp.department_id = dept.department_id; employees테이블의 deapartment_id는 departments테이블의 department_id의 외래키! --예.. 공감수 0 댓글수 0 2023. 3. 8.
  • [DBMS_01] DBMS 기본 용어 정리 DBMS(data base management system) : 데이터베이스 관리시스템 수많은 자료에 대한 사용자의 다양한 요구를 적절히 빠르게 처리하고 응답하여 이를 사용할 수 있도록 해주는 시스템 [DB 용어 정리] --DML (Data Manipulation Language) : 데이터 조작어 INSERT (C)create SELECT (R)read **너무 중요** UPDATE (U)update DELETE (D)delete --DDL (Data Definition Language) : 데이터 정의어 CREATE ALTER RENAME DROP 등 --DCL(Data Control Language) : 데이터 제어어 GRANT REVOKE [SQL 문장(Query문)] : DB에 명령을 내리기 위.. 공감수 0 댓글수 0 2023. 3. 7.
  • [DBMS_03] SELECT문 (테이블 조회) 2. SELECT - 테이블 조회 --현재 계정이 사용하고 있는 테이블의 목록(목록조회는 홈페이지에서 하는게 편함) --사원테이블의 전체 목록 조회 (특정테이블의 모~~든 컬럼을 보여줘) select * from EMPLOYEES; --person 테이블의 전체 목록 조회 select*from Person; --사원테이블에서 사번, 이름, 성만 조회 select EMPLOYEE_ID, FIRST_NAME, LAST_NAME from EMPLOYEES; --부서테이블에서 부서번호(DEPARTMENT_ID), 부서이름(DEPARTMENT_NAME)을 조회 select DEPARTMENT_ID, DEPARTMENT_NAME from DEPARTMENTS; -- 사원테이블에서 사번,이름, 입사일 급여를 조회 s.. 공감수 0 댓글수 0 2023. 3. 7.
  • [DBMS_09] 함수 (그룹 숫자 문자 날짜) 1. 그룹함수 여러개의 행 또는 테이블 전체에 대하여 하나의 결과만을 가져오는 함수 그룹함수만 일반컬럼과 함께 사용될 수 없다 1) AVG() : 평균 구하는 함수 2) COUNT() : 행의 개수를 반환하는 함수 (null 값은 무시함) 3) MAX() : 최대값을 구하는 함수 4) MIN() : 최소값을 구하는 함수 5) SUM() : 총 합을 구하는 함수 더보기 2) COUNT() : 행의 개수를 반환하는 함수 (null 값은 무시함) -- 그룹함수와 일반컬럼은 함께 사용될 수 없다 SELECT COUNT(commission_pct), salary FROM employees; -- 사원 테이블에서 사번을 가지고있는 모든 사원의 수를 출력 SELECT COUNT (employee_id) FROM em.. 공감수 0 댓글수 0 2023. 3. 7.
  • [DBMS_08] 집합 연산자 DISTINCT, UNION 중복 제거와 관련된 키워드 집합 연산자 DISTINCT, UNION, INTERSECT 1. distinct : 중복 제거 명령어 SELECT DISTINCT job_id FROM employees; -- 부서번호가 90이거나 80인 사람들의 부서번호 오름차순, 급여 오름차순으로 정렬 SELECT distinct department_id, salary FROM employees WHERE department_id = 90 OR department_id = 80 ORDER BY department_id, salary; 2. union union을 통해 위의 코드 수정하기 SELECT department_id, salary FROM employees WHERE department_id = 90 union S.. 공감수 0 댓글수 0 2023. 3. 7.
  • [DBMS_07] ORDER BY + ASC / DESC (오름/내림차순) ORDER BY + +오름차순 ASC(생략가능) / 내림차순 DESC(생략 불가능) --급여가 15000이상인 사원들의 이름, 급여, 입사일을 출력하되 입사일이 빠른순으로 정렬하여 조회 SELECT first_name, salary, hire_date FROM employees WHERE salary >= 15000; ORDER BY hire_date; -- 입사일이 빠른순으로 이름, 입사일이 출력하되, 입사일이 같다면 이름 내림차순으로 조회 SELECT first_name, hire_date FROM employees ORDER BY hire_date, first_name DESC; -- 부서번호가 빠른순, 직종이 빠른 순 , 급여가 높은 순으로 사번,이름, 부서번호, 직종, 급여를 조회 SELECT .. 공감수 0 댓글수 0 2023. 3. 7.
  • [DBMS_06] 논리 연산자 (and, or, in, between, like,not) 1. 연산자 and or && 대신 and 사용하기 || 대신 or 사용하기 더보기 - 사원테이블에서 급여가 5000을 초과하면서 1000이하인 사원들의 정보를 사번, 이름, 급여 순으로 출력 SELECT employee_id, first_name, salary FROM employees WHERE salary > 5000 and salary=20000; -- 사원테이블에서 2005 ~ 2006 사이에 입사한 사원들의 사번,이름, 입사일을 출력 SELECT employee_id, first_name, hire_date FROM employees WHERE hire_date >= '01/01/2005' and hire_date < '01/01/2007' ; 2. 연산자 in in 연산자 : or 연산자를 .. 공감수 0 댓글수 0 2023. 3. 6.
  • [DBMS_05] WHERE ( 조건절) WHERE(조건절) : 특정한 조건에 맞는 내용을 검색하는 명령어 --사원테이블에서 성이 Smith인 사원의 정보를 사번, 이름, 급여 순으로 출력 SELECT employee_id, last_name, salary FROM employees WHERE last_name ='Smith'; -- 사원테이블에서 이름이 'Michael'인 사원의 정보를 사번, 이름, 입사일 순으로 출력 SELECT employee_id, first_name, hire_date FROM employees WHERE first_name = 'Michael'; -- 사원테이블에서 급여가 5000이상인 사원들을 사번, 이름, 급여 순으로 출력 SELECT employee_id, first_name, salary FROM employ.. 공감수 1 댓글수 0 2023. 3. 6.
  • [DBMS_04] CONCAT || (문자열 연결) 방법1 _ concat(문자열1, 문자열2) -- 이름과 성을 연결한 full name (별칭)과 입사일을 사원테이블에서 조회 SELECT concat(first_name, last_name) full_name, hire_date FROM employees; -- 문자열 'Hello' , 'bye' 를 연결하고 가상의 테이블 dual에서 조회 SELECT concat('Hello', 'bye') FROM dual; 더보기 --별칭은 컬럼명이 너무 길거나 연산식이 들어갔을 경우 사용한다 AS를 사용해도 괜찮음 , AS생략 추천! SELECT employee_id AS "사번", first_name "이름" FROM employees; *별칭이란? 방법2 _ 연산기호 || SELECT first_name, .. 공감수 0 댓글수 0 2023. 3. 6.
  • [DBMS_02] TABLE 문법 정리 1. CREATE table - 테이블 생성하기 person table 생성 CREATE table Person( id NUMBER(3) primary key, --기본키 name varchar2(50) ); 더보기 member_t 테이블 생성 create table member_t( id varchar2(50), pwd varchar2(20) not null, -- null값을 허용하지 않겠다 name varchar2(50), email varchar2(50), phone varchar2(20) ); teacher 테이블 생성 create table teacher( idx number(3) primary key, --기본키 name varchar2(30) not null, --이름 꼭넣어 gender .. 공감수 0 댓글수 0 2023. 3. 3.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.