sql 10

오라클 SQL과 PL/SQL - 데이터 딕셔너리 (Data Dictionary)

데이터 딕셔너리 (Data Dictionary) 오라클은 데이터베이스를 운영하기 위한 정보들을 모두 특정한 테이블에 모아두고 관리하는데 그 테이블을 데이터 딕셔너리라고 합니다. 이 딕셔너리에는 아래와 같은 주요 정보들이 저장됩니다. 오라클 데이터베이스의 메모리 구조와 파일에 대한 구조 정보 각 오브젝트들이 사용하고 있는 공간의 정보 제약 조건 정보 사용자에 대한 정보 권한이나 프로파일, 롤에 대한 정보 감사(Audit)에 대한 정보 이 외에도 많은 정보들이 있습니다. 이 정보들은 사람으로 비유하면 두뇌에 해당되는 정보들이기 때문에 만약 장애나 잘못 관리될 경우 오라클을 사용할 수 없고 더 심한 경우 복구조차 할 수 없게 될 수 있습니다. 그래서 오라클은 딕셔너리를 base table과 data dicti..

오라클 SQL과 PL/SQL ( 복수행 함수(그룹 함수) )

1. GROUP 함수의 종류 SQL 복수행 함수는 단일행 함수와 달리 한꺼번에 여러건의 데이터가 함수로 입력됩니다. 하지만 사용방법은 일반함수와 비슷합니다. 모든 그룹 함수에서 중요한 부분은 NULL 값의 포함여부입니다. 거의 대부분 그룹 함수는 함수에 *를 사용하면 NULL을 포함하고 컬럼이름을 쓰면 해당 컬럼에 데이터가 있는 경우 즉 NULL을 제외하고 작업을 해서 출력하게 됩니다. 주로 사용하는 그룹 함수들을 아래와 같습니다. 1) COUNT() 함수 / 입력되는 데이터의 총 건수를 반환 합니다. SELECT COUNT(*), COUNT(COMM) FROM EMP; COUNT(*)는 NULL 포함 COUNT(COMM) 는 NULL 미포함 2) SUM() 함수 / 입력된 데이터들의 합계를 구하는 함수..

오라클 SQL과 PL/SQL ( 단일행 함수 - 2)

LTRIM() : 왼쪽 제거 RTRIM() : 오른쪽 제거 REPLACE() : 문자변경 아주 많이 쓰임 퀴즈 1. EMP 테이블에서 아래와 같이 20번 부서에 소속된 직원들의 이름과 3~4번째 글자만 '-'로 변경해서 출력하세요 (책에선 2~3번이 잘려져 잇는데 퀴즈에 맞게 변경) 퀴즈 2. STUDENT 테이블에서 아래와 같이 1전공(DEPTNO1)이 101번인 학생들의 이름과 주민등록번호를 출력하되 주민등록 뒤 7자리는 '-' 와 '/'로 표시되게 출력하세요 퀴즈 3. STUDENT 테이블에서 아래 그림과 같이 1전공이 102번인 학생들의 이름과 전화번호, 전화번에서ㅏ 국번 부분만 '*' 처리하여 출력하세요. 단, 모든 국번은 3자리로 간주합니다. 퀴즈 4. STUDENT 테이블에서 아래와 같이 D..

오라클 SQL과 PL/SQL ( 단일행 함수)

단일행 함수 함수는 어떤 입력값을 받아서 정해진 루틴에 의해 작업하고 결과값을 만들어서 출력하는 것을 말한다. 실생활에서도 거의 모든 것이 함수로 만들어져 있다. 커피 자판기를 예를 들면 동전을 넣고 버튼을 누르면 커피가 나온다. 이것도 함수의 일종이다. SQL에서는 크게 단일행 함수와 복수행 함수로 구분한다. 단일행 함수 : 한번에 하나씩 처리하는 함수 복수행 함수 : 여러건의 데이터를 동시에 입력받아 1건으로 만들어주는 함수 단일행 함수는 입력되는 데이터의 종류에 따라 아래와 같이 구분할 수 있습니다. 함수에 입력되는 값이 문자면 문자함수, 숫자면 숫자함수, 날짜면 날짜함수라고 한다. 문자함수 INITCAP() : 첫글자만 대문자 나머지 소문자로 출력하는 함수 (영어) LOWER() : 모두 소문자로..

오라클 SQL과 PL/SQL ( 집합연산자 )

집합이라고 하면 , 본인이 중학교때 배웠던 수학을 떠올리기 쉬운데 그것과 거의 흡사하다. 여러건의 데이터가 모여있다는 뜻으로 주요 집합연산자는 4가지 종류가 있다. UNION : 두 집합의 결과를 합쳐서 출력, 중복값 제거하고 정렬 UNION ALL : 두 집합의 결과를 합쳐서 출력, 중복 값 제거 안하고 정렬 안함 INTERSECT : 두 집합의 교집합 결과를 출력 및 정렬 MINUS : 두 집합의 차집합 결과를 출력 및 정렬 / 쿼리 순서가 중요 집합연산자는 주의사항이 있다. 1. 두 집합의 SELECT절에 오는 컬럼의 개수가 동일해야 한다. 2. 두 집합의 SELECT절에 오는 컬럼의 데이터 형이 동일해야 한다. 3. 두 집합의 컬럼명은 달라도 상관없음. UNION / UNION ALL ( 두 집합..

오라클 SQL과 PL/SQL ( 날짜조회, 연산자, 정렬 )

날짜조회 오라클에서 날짜를 조회할때에는 반드시 '' 작은따옴표 안에 작성해야 합니다. 숫자외에는 꼭 작은따옴표를 사용해야 하고 문자는 대소문자를 구분, 날짜는 대소문자 구분이 없습니다. 연산자 오라클에서는 우리가 아는 사칙연산 + - * / 모두 가능하다. 값을 더할수도 뺄수도, 사칙연산이 모두 가능하다. 날짜도 비교가 가능하다. 81/12/25 일 보다 큰 날짜를 비교 하였으니 최신의 날짜가 검색이 된다. BETWEEN으로 구간 데이터 조회를 할 수있다. BETWEEN의 꼭 알아야 할 점은 작은 값을 앞에 큰값을 뒤에 둬야하며 두 값을 포함하여 결과를 출력한다는 점을 인지한다. 그리고 BETWEEN은 연산속도가 느려서 속도가 느리다. 같은 결과라면 비교 연산자를 쓰는게 훨씬 좋다. IN연산자는 여러조건..

오라클 SQL과 PL/SQL (데이터 조회 하기)

SELECT 명령을 이용하여 데이터를 조회하기. 39P 연습문제 1, 2, 3 정답 1. Student테이블에서 모든 학생과 이름 ID, 체중을 아래 화면과 같이 출력하고 컬럼이름은 "ID AMD WEIGHT"로 설정 정답 : select name || '''s ID:' || id || ', WEIGHT is ' || weight AS "ID AND WEUGHT" from student; 2. emp 테이벌을 조회하여 모든 사람의 이름과 직업을 아래와 같이 출력하세요. 정답 : select ename || '(' || job || ') ,' || ename ||''''|| job ||'''' AS "NAME AND JOB" from emp; 3. emp테이블을 조회하여 모든 사원의 이름과 급여를 아래와 ..

오라클 SQL과 PL/SQL (SELECT)

SELECT 문의 기본 1. 모든 컬럼 조회 SELECT [ * ] FROM [ TABLE NAME ]; 순서대로 풀이하자면 , 'SELECT 선택한다 * 를 어디에서? TABLE NAME에서!'라고 스스로 해석해 보았다. *는 전체(ALL)라는 뜻이다. 즉 TABLE NAME에서 전체다 선택할게 라고 명령하는 것이라 생각하면 됩니다. * 실제 사용에서는 대괄호 []를 삭제하고 사용합니다. / SELECT * FROM TABLENAME; 2. 특정 컬럼 조회 SELECT [ NAME, AGE ] FROM [ TABLE NAME ]; 위 모든 컬럼에서 *를 내가 원하는 컬럼명으로 바꾸면 됩니다. 여러 개일 경우 , 로 구분합니다. 3. 테이블에 어떤 컬럼이 있는지 확인하기 DESC [ 컬럼명 ];

오라클 SQL과 PL/SQL ( 기본 )

데이터베이스란 : 데이터를 저장해 놓는 곳, 저장되어 있는 데이터가 많으면 대용량 데이터베이스 또는 빅데이터라고 부르기도 합니다. 중요한 것은 이런 용어보다는 '어떻게 저장하고 관리할까?'라는 점이다. 하드디스크에 저장되어 있는 데이터를 사람이 직접 넣거나 지우거나 바꾸는 것은 불가능하다. 어디 있는지 모르기 때문이다. 그래서 데이터 관리를 해주는 전문적인 프로그램들이 있는데 그것을 DBMS(데이터베이스 관리 시스템, database management system)이라고 합니다. (toad, handiSQL 등) 이런 DBMS에서 프로그램에게 사용자 즉 개발자가 의도를 전달할 때 사용하는 언어가 SQL입니다. Structured Query Language 구조화된 쿼리 언어 즉 규칙 있는 말 정도로 번..

데이터베이스 사용하기 ( DBMS / SQL )

데이터베이스를 사용하기 위해서는 DMBS라는 프로그램이 필요하다. D : Data B : Base M : Management S : System 데이터베이스 관리시스템의 약자이다. 사용자는 DMBS를 통해서 데이터베이스에 접근/수정/삭제/추가/ 테이블 조회 등 여러 작업들을 할 수 있다. DBMS의 종류에는 여러가지가 있는데 대표적으로는 아래와 같은 종류가 있다. 1. MySQL 2. ORACLE 3. MSSQL 4. MariaDB 5. SQLite 각 상황과 필요에 따라 그에 맞는 DBMS를 사용하면 된다. 데이터베이스를 구축한다는 것의 첫번째가 바로 사용할 DBMS를 선택하는 것 부터 있다. DBMS의 종류는 굉장히 많은데 사용할 때 마다 다 새롭게 배워야 할까 ? 반은 맞고 반은 틀리다. 모든 데이..

데이터베이스 2020.08.30
728x90