다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Similar documents
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

ORACLE 꼭 이 책의 내용들을 다 외울 정도로 공부하여 스스로의 지식으로 만들기 바랍 니다. 마치 작은 씨앗에서 큰 나무가 자라나는 것처럼 이 책 한 권은 작지만 이 책을 다 읽은 후에는 큰 나무가 되기를 바랍니다. 이 책은 SQL 책입니다. 그러나 SQL을 잘 작

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

ORACLE-SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

5장 SQL 언어 Part II

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

Microsoft Word - SQL튜닝_실습교재_.doc

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

13주-14주proc.PDF

RDB개요.ppt

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý

빅데이터분산컴퓨팅-5-수정

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

TITLE

PowerPoint Presentation

PowerPoint 프레젠테이션

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

Jerry Held

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r


<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

강의 개요

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

DBMS & SQL Server Installation Database Laboratory

Microsoft Word - PLSQL.doc

SQL

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

OCW_C언어 기초

강의 개요

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Microsoft PowerPoint - 10Àå.ppt

SQL Tuning Business Development DB

문서 템플릿

歯sql_tuning2

CH04) 쿼리 (Query) 데이터베이스일반 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

歯PLSQL10.PDF

MySQL-.. 1

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

10.ppt

컴파일러

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

PostgreSQL 2 Uniersity of California at Berkeley ( ) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1

< 고급 C 프로그래밍및실습 > 11 장구조체실습문제 문제에대한안내 - 특별한언급이없으면문제의조건에맞지않는입력은입력되지않는다고가정하라. - 특별한언급이없으면, 각줄의맨앞과맨뒤에는공백을출력하지않는다. - 출력예시에서 는각줄의맨앞과맨뒤에출력되는공백을의미한다. - 입출력예시

슬라이드 1

PowerPoint 프레젠테이션

FlashBackt.ppt

1 데이터베이스 2 MySQL 설치 3 기초 SQL 4 고급 SQL 유용한함수들 JOIN inseog Kim Dep. of Applied Statistics, Dongguk통계데이터베이스 University jinseog.kim gma

%eb%8f%99%ec%9d%b8-[NO_09]%20%ec%9d%98%ea%b3%bc%eb%8c%80%ed%95%99%20%ec%86%8c%ec%8b%9d%ec%a7%80_F(%ec%b5%9c%ec%a2%85)-2.pdf

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

ESQL/C

<4D F736F F F696E74202D20C4C4C8B031B1DEC7CAB1E22DC0FCC3BCB1B3C0E72D D3133B3E232C8B8B1EEC1F6202D20BAB9BBE7BABB2E707074>

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

오라클 명령어 와 SQL 정리

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용]

SQL초보에서Schema Object까지

ALTIBASE HDB Patch Notes

PowerPoint 프레젠테이션

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

6장. SQL

Microsoft Word - 04_EXCEPTION.doc

금오공대 컴퓨터공학전공 강의자료

<session-factory> <property name="hibernate.connection.driver_class">oracle.jdbc.driver.oracledriver</property> <property name="hibernate.connection.u

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

Microsoft PowerPoint - gnu-w10-c-chap11

0. Intro ORACLE 社 Oracle, My SQL, Exadata IBM 社 DB2, Informix SAP 社 ASE, IQ, ASA Microsoft 社 SQL Server Teradata 社 Teradata 공통점은? Altibase 社 Altibase

빅데이터 분산 컴퓨팅 -6

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - [2009] 02.pptx

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

Microsoft PowerPoint - chap04-연산자.pptx

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

Microsoft PowerPoint - chap03-변수와데이터형.pptx

02장.배열과 클래스

Infinity(∞) Strategy

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - chap06-1Array.ppt

제 3강 역함수의 미분과 로피탈의 정리

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770>

Transcription:

다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서짂수저

1 장. SELECT 문을이용하여 원하는데이터가져오기 1

- DESC 명령어로컬럼을확인하자! SCOTT>DESC emp ; Name Null? Type ------------------------ ------------------ -------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) 2

- SELECT : 데이터조회하기 문법 : SELECT [ 칼럼명또는표현식 ] FROM [ 테이블명, 뷰명 ] ; - 모든컬럼조회하기 SCOTT>SELECT * FROM emp ; SCOTT>SELECT * 2 FROM emp ; SCOTT>SELECT * 2 FR 3 OM emp; 키워드는줄바꾸면안됨!! FR * ERROR at line 2: ORA-00923: FROM keyword not found where expected 3

1. 대소문자구분을하지않아도실행되지맊원래는다른문장이다! 2. 핚줄또는여러줄에걸쳐작성해도되며마지막은 ; ( 세미콜롞 ) 으로끝맺어야맊핚다. 3. SQL 키워드는분리해서는안된다. SQL 키워드라함은 SELECT, FROM, WHERE 등과같이 SQL 에서 사용하는미리정해놓은단어를말핚다. 4

- 화면에보기좋게출력하는팁 SCOTT> COL empno FOR 9999 ; 숫자일경우 SCOTT> COL ename FOR a8 ; 문자일경우 SCOTT> SET line 200 ; SCOTT> SET pagesize 50 ; 5

SCOTT>SELECT empno, ename 2 FROM emp ; EMPNO ENAME ---------- ------------- 7369 SMITH 7499 ALLEN 7521 WARD 7566 JONES 7654 MARTIN 7698 BLAKE ( 이하생략 ) 원하는컬럼맊조회하는방법 14 rows selected. 6

- 표현식을사용하여출력하기 ( 리터럴상수,Literal ) SCOTT>SELECT name, ' 교수님 ~ 배고파요 ~' 2 FROM professor ; NAME ' 교수님 ~ 배고파요 ----------- ----------------------- 조인형 교수님 ~ 배고파요 ~ 박승곤 교수님 ~ 배고파요 ~ 주승재 교수님 ~ 배고파요 ~ ( 이하생략 ) 7

- 칼럼별칭사용하여출력하기 - 1 SCOTT>SELECT studno, name 2 FROM student ; STUDNO NAME --------------- ------------ 9411 서짂수 9412 서재수 9413 이미경 9414 김재수 ( 이하생략 ) - 칼럼별칭사용하기전 소문자가대문자로출력됨 8

- 칼럼별칭사용하여출력하기 - 2 SCOTT>SELECT studno " 학번 ", name AS " 이름 ", profno 지도교수번호 2 FROM student ; 학번 이름 지도교수번호 ----------- -------------- ------------------- 9411 서짂수 1001 9412 서재수 2001 9413 이미경 3002 ( 이하생략 ) 9

- Alias 연습문제 1 emp 테이블을사용하여 empno 를사원번호, ename 을사원명, job 을직업 으로별명을설정하여출력하세요. - Alias 연습문제 2 dept 테이블을사용하여 deptno 를부서 #, dname 부서명, loc 를위치로 별명을설정하여출력하세요. 10

(5) DISTINCT - 중복된값을제거하고출력하기 11

DISTINCT 사용안함 DISTINCT 사용함두컬럼 DISTINCT 사용함 2 3 1 12

(6) 연결 ( 합성 ) 연산자 (Concatenation) 로칼럼을붙여서출력하기 13

SCOTT>SELECT name ' 님은 ' position ' 입니다 ' 2 FROM professor ; NAME ' 님은 ' POSITION ' 입니다 ' --------------------------------- 조인형님은정교수입니다박승곤님은조교수입니다송도권님은젂임강사입니다양선희님은젂임강사입니다김영조님은조교수입니다주승재님은정교수입니다김도형님은정교수입니다나한열님은조교수입니다김현정님은젂임강사입니다심슨님은정교수입니다 ( 이하생략 ) 리터럴문자를사용핚경우 14

연결연산자문제 1 : 학생테이블 (student) 을사용하여모든학생들이 서짂수의키는 180 cm, 몸무게는 55 kg 입니다 와같은형식으로출력되도록리터럴문자를추가하고, 칼럼이름은 학생의키와몸무게 라는별명으로출력해보세요. 15

연결연산자문제 2: 홍길동 ( 교수 ), 홍길동 교수 이렇게나오도록출력해보세요 16

(7) 산술연산자사용하기 17

- 산술연산자사용시우선순위주의핛것! 18

(8) WHERE 절을활용하여원하는조건맊조회하기 SQL>SELECT [ Column or Expression ] 2 FROM [ Table or View ] 3 WHERE 원하는조건 ; 19

- 문자열조회핛때주의사항 WHERE 절의문자는대소문자구분합니다! 홑따옴표로묶으세요! 20

- 날짜조회핛때주의사항 - 홑따옴표로묶으세요 - 대소문자구분없습니다. 21

(9) 다양핚연산자를활용하는방법 연산자종류 설명 = 같은조건을검색!=, <> 같지않은조건을검색 > 큰조건을검색 >= 크거나같은조건을검색 < 작은조건을검색 <= 작거나같은조건을검색 BETWEEN a AND b A 와 B사이에있는범위값을모두검색 IN(a,b,c) A 이거나 B 이거나 C 인조건을검색 Like 특정패턴을가지고있는조건을검색 Is Null / Is Not Null Null 값을검색 / Null 이아닌값을검색 A AND B A 조건과 B 조건을모두맊족하는값맊검색 A OR B A 조건이나 B 조건중핚가지라도맊족하는값을검색 NOT A A 가아닌모든조건을검색 22

1 비교연산자를사용하여 Student 테이블에서키가 (height) 180 cm 보다 크거나같은사람을출력하세요 23

2 Between 연산자를사용하여 Student 테이블에서몸무게가 (weight) 60kg ~ 80kg 인사람의이름과체중을출력하세요. BETWEEN 연산자는주의사항이있습니다. 1. 두개의값중에작은값이먼저오고큰값이나중에와야합니다. 2. 두개의값을다포함하여출력됩니다 24

- BETWEEN 연산자는아래처럼사용가능합니다. 25

3 IN 연산자를사용하여 Student 테이블에서 101 번학과학생과 201 번학과학생들을모두출력하세요 이 SQL 의 WHERE 젃부분을 WHERE deptno1 = 101 OR deptno1 = 201 로사용할수도있지만쿼리가너무길어져서간편하게 IN 연산자를사용하는겂입니다. 26

4 Like 연산자를사용하여 student 테이블에서성이 김 씨인사람을조회하세요 % : 글자수무관, 모든글자가능 _ : 글자수 1 자, 모든글자가능 27

5 IS NULL / IS NOT NULL 연산자를활용하기 NULL 은정해지지않아서값을모른다는의미임. 0 과는다름!! 이부분이 NULL 임 28

29

6 검색조건이두개이상일경우조회하기 1. student 테이블을사용하여 4 학년중에서키가 170 cm 이상인사람의이름과학년과키를조회하세요. 두가지조건을모두만족하는결과를검색하실때는 AND 연산자를사용하여조건을적으시면됩니다. 30

2. student 테이블을사용하여 1 학년이거나또는몸무게가 80 kg 이상인학생들의이름과키와학년과몸무게를출력하세요. 두가지조건중한가지만만족하는행을검색하고싶으면 OR 연산자를사용하면됩니다. 31

3. Student 테이블을사용하여 2 학년중에서키가 180 cm 보다크면서몸무게가 70 kg 보다큰학생들의이름과학년과키와몸무게를출력하세요. 조건이여러개이고모두만족하는하는경우 AND 를여러번쓰면됩니다 32

4. Student 테이블을사용하여 2 학년학생중에서키가 180 cm 보다크거나또는몸무게가 70 kg 보다큰학생들의이름과학년과키와몸무게를출력하세요. AND 와 OR 조건이동시에나올경우에는우선순위를아주조심하셔야합니다!!! 33

- AND 와 OR 연산자의우선순위조절실패사례 34

** 퀴즈 1 ** Professor 테이블에서교수들의이름을조회하여성부분에 ㅈ 이포함된사람의명단을아래와같이출력하세요. 1 번화면이 professor 테이블에서이름을조회한화면입니다. ORDER BY 라는구문은정렬을해서보여달라는뜻인데뒤에살펴봅니다. 2 번화면이성부분에 ㅈ 이들어간사람만출력한화면입니다. IN ( 전민, 조인형, 주승재 ) 이렇게하짂않으실거죠?? 이런거였으면퀴즈도안냈을겁니다 ~^^ 능력을보여주세요 ~~ 35

(10) ORDER BY 절을사용하여출력결과정렬하기 - 핚글 : 가, 나, 다, 라.. - 영어 : A, B, C, D - 숫자 : 1, 2, 3, 4 - 날짜 : 예전날짜부터시작해서최근날짜로정렬됨. - ORDER BY 절을사용하며 ASC 는오름차순, DESC 는내림차순임. - ASC 방식이기본정렬방식임. 36

1 student 테이블을사용하여 1 학년학생의이름과키를출력하세요. 단키가작은순서대로출력하세요. 37

2 Student 테이블을사용하여 1 학년학생의이름과키와몸무게를출력하세요. 단키는작은사람부터출력하시고몸무게는맋은사람부터출력하세요. 38

3 Student 테이블을사용하여 1 학년학생의이름과생일과키와몸무게를출력하세요. 단생일이빠른사람순서대로정렬하세요. 39

4 칼럼의별명을사용핚정렬 Student 테이블을사용하여 1 학년학생의이름과키를출력하세요. 단이름을오름차순으로정렬하세요. 40

(11) 집합연산자 ( Set Operator) 집합 1 집합 2 결과 41

- 집합연산자종류 연산자종류 UNION UNION ALL INTERSECT MINUS 내용두집합을더해서결과를출력. 중복값제거하고정렬함두집합을더해서결과를출력. 중복값제거안하고정렬안함두집합의교집합결과를출력함. 정렬함두집합의차집합결과를출력함. 정렬함. 쿼리의순서중요함 42

1 UNION / UNION ALL ( 두집합을더합니다 ) -Student 테이블과 professor 테이블을참조하여 101 번학과에소속되어있는학생과교수들의학번 ( 교수님은교수번호 ), 이름, 학과번호를출력하세요. 43

-Student 테이블에서 101 번학과와 201 번학과를전공하는학생들의이름을출력하세요. 정렬함 / 중복값제거후출력 정렬안함 / 중복값모두출력 44

2 INTERSECT 연산자사용하기 교집합찾기 -stduent 테이블을사용하여 101 번학과와 201 번학과를복수전공하는사람의이름을출력하세요. 45

3 MINUS 연산자사용하기 큰집합에서작은집합빼기 -professor 테이블에서전체직원의급여를 20 % 인상하기위핚직원명단을출력하려합니다. 단직급이전임강사인사람들은명단에서제외하세요. 46

** 집합연산자사용시주의사항 1. 칼럼의개수가다를경우에러발생함 위 SELECT 절은 2 개의칼럼인데아래 SELECT 절은 1 개의칼럼으로칼럼의개수가다를경우에러가발생합니다. 47

** 집합연산자사용시주의사항 2. 비교되는칼럼끼리의데이터타입이다를경우 위 SELECT 문장의데이터타입과아래 SELECT 문장의데이터타입이서로다를경우에러가발생합니다. 48

수고하셨습니다 ~ 다음장에서는 2장. SQL 단일행함수를살펴보겠습니다. 49