2020. 4. 30.

[Oracle] 1. SELECT 문의 이해 정리


select 문을 이용한 테이블 검색

SQL> SELECT [ 컬럼, 컬럼, ….| *]
2 FROM 테이블;
  • 테이블로부터 지정한 컬럼을 검색
  • '*' 모든 컬럼을 검색할 사용
  • '*' 통해 검색된 결과의 컬럼의 순서는 DESC명령으로 검색한 컬럼 순서
  • '*' 컬럼과 같이 사용 없고 단독으로 사용
  • SELECT절이나 FROM절은 생략할 없음
  • SELECT 문은 프리 포맷으로 여러 줄에 걸쳐 기술 가능

SQL> DESC 테이블;
  • 테이블의 구조를 검색
  • 컬럼의 이름, 데이터 타입을 확인

SQL> SELECT * FROM tab;

# 테이블에 내용을 조회한다.

  • 현재 스키마(schema) 모든 테이블 목록을 검색
  • tab 실제 테이블이 아니라 테이블의 목록을 보여주기 위한 가상 테이블
  • 오라클에서 스키마는 유저와 동일한 의미를 갖는다.
  • SQL 문은 반드시 ';'으로 끝난다.
  • SQL 문은 대소문자를 구별하지 않는다.
  • SQL 문은 반드시 결과(출력) 존재

예제 1. 현재 스키마에 포함된 모든 테이블을 검색

SQL> SELECT * FROM tab;

m rnrnrnrnrnrnrnrnrnrnm
# 테이블의 모든 내용을 조회한다

예제 2. Emp 테이블과 dept 테이블의 구조와 내용을 검색

SQL> DESC emp;

ΞΙΙ' 
JlE 
15) 
ΟΑΤΕ
#emp 테이블의 정보를 조회한다.

SQL> select * from emp;

아 
하 
0201 
0202 
1이弓 
20〕1 
2이2 
07띤 
0263 
, select • 
from , 
0 01 
520 10 
330 20 
200 10 
30 02 
300 10 
60 02 
600 02 
회 
국 
님 들여호 
졔길軻 
하犁弓 
5軻시 
罼니현 
SEX 
여 
여 
여 
여 
여 
여 
J03 
경 
시 
시 
회게 
회게 
모부팅 
모부팅 
모부팅 
개란 
개란 
개란 
개란 
개란 
시원 
MN 
0%1 
0%1 
0%1 
0301 
0201 
0201 
0201 
0202 
0202 
0202 
0%1 
0%1 
0302 
1%1 
0301 
0301 
1%1 
1%1 
1%2 
HDÅ正 
1뚀1/01,'01 
1뚀1/飇/01 
1뚀1/12,'01 
1뚀2/飇/01 
1뚀1/%/02 
1뚀1/飇/01 
1332/嚼03 
1뚀5/飇/21 
1뚀3/12,'13 
1뚀6/04,'30 
1뚀2/%/03 
1뚀2/%/05 
1뚀2/%/03 
2011/01/03 
1뚀3/10,'17 
2017/01/03 
2015/嚼21 
1393/飇/05 
3510 
34飇 
33飇 
41이 
3350 
1520 
屯50 
1383 
21飇 
23% 
32飇 
1 ID, 
26% 
32飇 
23飇 
2%0 01 
930 01 
2%0 20 
23% 30 
1900 10 
1000 10 
2500 20 
21 행이 선택되었수니Ct
#emp 테이블의 내용을 조회한다.

SQL> DESC dept;

v ( 巧 ) 
2(9 )
#dept 테이블의 정보를 조회한다.

SQL> select * from dept;

공OL> 
0N0 
01 
02 
10 
20 
30 
40 
50 
select 
0N책卜IE 
회계 
ERP 
ISP 
ITEA 
CRM 
POS 
f rom dept , 
LOC 
서 을 
새 을 
새 을 
부 산 
대전 
7 행이 선택되었습니다.
#dept 테이블의 모든 내용을 조회한다.

예제 3. 사원의 이름과 업무를 검색한다.

SQL> select eno, ename, job from emp;

0001 
0201 
0202 
0301 
0302 
1001 
1002 
1003 
2001 
2002 
2003 
2007 
200B 
3002 
0309 
3001 
0702 
0269 
0401 
0801 
0120 
테0 , 
ENAME 
안영이 
안영 숙 
손하늘 
이승철 
박선경 
문시현 
김 주란 
양선호 
남궁연 호 
세칼민 
성의찬 
이초록 
윤고은 
권아현 
김신유 
김신유 
김민지 
권나현 
김 진성 
김경현 
ename, job from emp: 
J(〕B 
지원 
모델링 
모델링 
모델링 
개발 
개발 
개발 
지원 
21 행이 선택되었습니다
#emp 테이블의 eno, ename, job 컬럼을 조회한다.

예제 4. 사번, 이름 급여를 검색하고 검색된 데이터에 따라 출력  형식을 비교해 본다.

SQL> select eno, ename, sal from emp;
#emp 테이블의 eno, sal 컬럼을 조회한다.

001 
0201 
0202 
0301 
302 
1001 
1002 
1003 
001 
2002 
003 
007 
200B 
3002 
0309 
001 
702 
0269 
0401 
0801 
120 
테0 , 
ENAME 
안영이 
안영 숙 
손하늘 
이승철 
박선경 
문시현 
그 | 入 근! 
양선호 
남궁연 호 
세칼민 
성의찬 
이초록 
윤고은 
권아현 
김신유 
김신유 
김민지 
권나현 
김 진성 
김경현 
sal from emp; 
SAL 
4800 
3900 
3510 
3400 
3300 
4500 
4100 
4300 
3950 
1520 
4350 
1989 
2100 
2900 
900 
3200 
1100 
2600 
3200 
2900 
1 행이 선택되었습니다

select 절을 이용한 수식 검색

SQL> select 수식
2 FROM dual;

예제 5. select 문장을 이용 수식을 수행

SQL> select 2+3 from dual;
#dual 테이블 2+ 3 더해서 출력한다.

select 2+3 from dual; 
2+3 
5

테이블은 2차원 배열과 다르다.

실습

 1.  student, course, professor, score table 구조를 검색한다.

desc student;
desc course;
desc professor;
desc score;
# student course professor score 구조를 검색한다.

desc 
01 = 
SNO 
SNAME 
SEX 
SYEAR 
MAJOR 
AVR 
SOL) desc 
01 S 
CNO 
CNAME 
SI NUM 
Piló 
desc 
CNO 
CUME 
ST _NIJM 
PNO 
SOL) desc 
01 S 
PNO 
PNAME 
SECT I ON 
ORDERS 
studen t 
course 
course 
professor 
VARCHAR2(8) 
VARCHAR2(15) 
VARCHAR2(4) 
VAWHAfR2(15) 
VAROHAR2(8) 
VARCYAR2(24) 
NIJWER 
VAHUHAR2(8) 
VARCHAfi2(8) 
VARCIHAfR2(24) 
VMCXAlR2(8) 
VAROHAR2(15) 
VARCYAR2(15) 
VAHUHAH2(15) 
DATE

 2.  모든 학생의 정보를 검색한다.

select * from student;

915301 
905301 
905302 
915303 
923903 
923904 
933901 
915304 
915305 
948203 
948204 
925306 
933902 
933903 
935303 
945302 
945303 
945314 
913901 
913902 
913903 
933904 
915604 
915605 
925601 
943901 
943902 
935304 
05 
select * from student, 
SYEAH MAJOH 
3.28 
3-23 
2-45 
2.32 
2.83 
2.78 
2.48 
2.99 
3.56 
2.36 
2.22 
2.34 
3.15 
3-08 
3-34 
2-99 
3.25 
2.98 
SNAME 
성 동상 
유대시 
성-국상 
정욱주 
정남뮨 
한현식 
김용서 
권 !모수 
최정회 
황보우리 
시장동 
김지|백 
김 현수 
지 스노 
김완상 
그 | 근| 갔터 
남궁경아 
이철윤 
왕수현 
황신혜 
성 도성 
임영현 
정성현 
강은혜 
권문각 
최해원 
하정자 
최홍승 
유태지 
SEX 
01 
4 
흐卜학 
4 
흐卜학 
4 
흐卜학 
4 
흐卜학 
3 생臣 
3 생물 
2 생물 
4 화학 
3 화학 
^ 여 
2 
화학 
2 생물 
2 생물 
2 화하 
화 학 
화 학 
4 생물 
2 생물 
4 
O 고 
4 
O 고 
3 
O 고 
생물 
생물 
2 화학 
1 생물 
AVR 
.95 
1.44 
-95 
1.Ad 
.58 
.34 
.15 
2.54 
3

 3. 모든 교수의 정보를 검색한다.

select * from professor;

1001 
1004 
1006 
1007 
100B 
1010 
1009 
1013 
1012 
1016 
101B 
1021 
1022 
1027 
1029 
1030 
1협; 
1033 
1036 
1031 
1034 
1035 
103B 
select * from 
PNAME 
시진영 
장정아 
이초아 
문규식 
이규진 
이순영 
하영진 
이영 순 
모 연 작 
그 | 응夭l 
항시신 
이준 
임 충원 
수동평 
김동평 
최 무속 
이유당 
박삭광 
성현수 
김서령 
최해연 
고F요 
하영진 
SECT |혜 
화학 
화학 
화학 
화학 
화학 
물리 
물리 
물리 
불리 
불리 
물리 
생물 
생물 
O 고 
시 여 
식영 
이국0대S 
정교수 
조교수 
조교수 
정 고! 수 
정교수 
조교수 
조교수 
성 교수 
조교수 
정 교수 
정교수 
조교수 
정」刁 수 
조교수 
HIREDATE 
2002/08/12 
1991/02/01 
2003/05/20 
2010/07/06 
2005/02/11 
1998/10/07 
1991/10/04 
1999/04/19 
2000/05/18 
2009/10/21 
1999/02/18 
1997/02/17 
1989/05/05 
2001 /06/03 
2006/01 /26 
2002/02/15 
2011 /01 /24 
1966/11/01 
2005/07/14 
1993/07/13 
1991/10/09 
1998/07/02 
1985/07/28 
2004/03/02 
24 행이 선택되었습니다

 4. 모든 과목의 정보를 검색한다.

select * from course;

1211 
1212 
1213 
1214 
1216 
1217 
121B 
1220 
1223 
1226 
1227 
122B 
2357 
235B 
2363 
2365 
2366 
2367 
236B 
2369 
2370 
2410 
2411 
1712 
1711 
1782 
1733 
1290 
1287 
1233 
1245 
2111 
2112 
* f r0111 course ; 
CNAME 
일반화학실험 
일빈화학 
유기화학 
무기하학 
환-경화학 
고분자하학 
생화학 
일|반물리 
자기학 
양자물리학 
이학수학 
위상수학 
유기불리학 
Al 曰 6| 
그 그 
화학실험 
전자기학 
물리 실 험 
해부학 
핵화학 
무기화학실험 
고생물학 
대수학 
무기재료 
부자생물학 
유전학실험 
세모배양학 
유진체학 
일역 학 
전산불리 
실험불리학 
식품화학 
영양학실험 
식품분석실험 
ST PNC) 
2 
1001 
3 
1004 
3 
10% 
2 
1004 
2 
10% 
3 1007 
2 10% 
31010 
31013 
31016 
21017 
21018 
31021 
3 1022 
3 1027 
2 1029 
2 
1030 
3 
1031 
3 
1032 
2 
3 
10% 
3 
1017 
3 
1004 
3 1030 
2 1036 
31017 
3 1036 
31018 
31016 
31012 
21013 
31031 
2 1034 
3 1035

 5. 기말고사 시험 점수를 검색한다.

select * from score;

select * 
943902 
943903 
943905 
944501 
944503 
944511 
944512 
945302 
945303 
945314 
945601 
945602 
945603 
945B()4 
945岱()5 
94B201 
94B202 
94B203 
94B204 
94B205 
94B209 
905302 
905603 
913901 
913902 
913903 
913904 
9139% 
914502 
914503 
914504 
915301 
915303 
915304 
CNO 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2112 
2115 
2115 
2115 
2115 
2115 
2115 
2115 
2115 
2115 
2115 
2115 
2115 
2115 
RESULT 
78 
98 
96 
53 
68 
76 
66 
96 
64 
82 
74 
95 
49 
68 
66 
70 
95 
80 
79 
70 
99 
80 
92 
70 
63 
86 
90 
51 
73

 6. 학생들의 학과와 학년을 검색한다.

select major, syear from student;
#major, syear 컬럼을
#student 테이블에서 조회한다.

select 
MAJOH 
화학 
화학 
화학 
화학 
생물 
식임 
생물 
화학 
생물 
화학 
생물 
불리 
syear from student: 
SMEAR 
4 
4 
4 
4 
3 
3 
2 
2 
4 
2 
3 
2 
3

 7. 과목의 이름을 검색한다.

select cname from course;

cname f r0111 Se ; 
일반화학실험 
일반화학 
유기화학 
무기화학 
혼卜경화학 
고분자화학 
생화학 
일|만물리 
자기학 
양자물리학 
이학수학 
이AE 
유기물리학 
화하실험 
전자기학 
물리실험 
해부학 
햭화학 
무기화학실험 
고생물학 
대수학 
무기지|료 
분 자생 불학 
유전학실험 
세 보배 양학 
유진제학 
일역학 
전산물리 
016| 
실험물리학 
식품회학 
영양학실험 
식품 분석 실험 
양생 리 학

 8. 모든 교수의 직위를 검색한다.

select orders from professor;

0 f 0m p : 
0R0田S 
조교수 
정교수 
조교수 
조교수 
조교수 
서 교수 
서 교수 
조교수 
“교 人 
24 행이 선택되었습니다.


댓글 없음:

댓글 쓰기