급하신 분은 보라색 글씨만 보시면 됩니다.  정답 부분은 마우스로 드래그 하세요.
= root 계정으로 명령어 입력    $  = 사용자계정 (ex. oracle) 으로 명령어 입력
>  = 오라클에 접속해 DB를 불러내고 쿼리 문 입력 - - - 명령문대문자, 칼럼이나 기타 변수소문자로 쓰겠음




0. 데이터를 꺼내와라 = SELECT 


1. 기본구조
> SELECT  칼럼명 from 테이블명;

ex. 부서 테이블의 모든 칼럼에 저장된 데이터를 출력
> SELECT deptno, dname, college, loc
  FROM department;
> SELECT * FROM department;




1.1) DISTINC  :  중복되는 행 출력방지
 
> SELECT DISTINCT deptno FROM student;
> SELECT DISTINCT deptno, grade FROM student;




1.2) 칼럼별명Alias  :  (컬럼이름과 별명 사이) 공백처리 or AS 별명
> SELECT dname 부서이름, deptno as 부서번호 FROM department;
> SELECT dname "부서 이름", deptno "부서 번호#" FROM department;
  → 별명에 띄워쓰기가 있을경우 " " 로 묶어 준다.


문제 1.
  emp 테이블을 사용하여 empno 를 사원번호 , ename 을 사원명 , job 을 직업 으로 별명을 설정하여 출력하라.
정답> select empno "사원번호", ename "사원명", job "직업" from emp;


문제 2.
  dept 테이블을 사용하여 deptno 를 부서# , dname 부서명 , loc 를 위치 로 별명을 설정하여 출력하라.
정답> select deptno "부서#", dname "부서명", loc "위치" from dept;




1.3) 합성 연산자  :  ||
> SELECT studno ||' '|| name "Student"   → studno와 name을 한 칼럼으로 묶어서 출력. 둘의 사이엔 공백' '을 준다.
   2  FROM student;



문제1.
  교수테이블의 교수이름과, 직급을 연결해 다음내용 형식으로 출력하라.
  홍길동 교수님 배고파요~~
정답> select name||' '||position||'님 배고파요~~'
      2  from professor;


문제 2.
  교수테이블에서 교수 이름과 직급 칼럼 사이에
  ‘교수의 직급은’ 이라는 문자열을 추가하고 칼럼 이름을
  "Title of Professor" 라는 별명을 사용하여 출력하라.
정답> select name||'교수의 직급은 '||position as "Title of Professor" from professor;

 
문제 3.
  학생 테이블에서 ‘홍길동 의 키는 180, 몸무게는 55’
  와 같은 형식으로 출력되도록 리터럴 문자를 추가하고,
  칼럼이름은 “학생의 키와 몸무게”라는 별명으로 출력되도록 출력하라.

※ 참고 : student 테이블의 칼럼 보기 => desc student;

정답> select name||'의 키는'||height||'몸무게는'||weight as "학생의 키와 몸무게"
      2  from student;
오답> select name||'의 키는'height||'몸무게는'||weight as "학생의 키와 몸무게" from student;

 
문제 4.
  아래와 같이 홍길동 (교수) , 홍길동 ‘교수’ 이렇게 나오고,
  테이블명은 "교수님들"로 출력하라.
교수님들
-------------------------
김도훈(교수), 김도훈'교수'
이재우(조교수),이재우'조교수'
정답> select name||'('||position||'),'
      2             ||name||''''||position||'''' "교수님들"
      3  from professor;
오답>  select name||'('||position||'),'
      2             ||name||'''||position||''' "교수님들"
      3  from professor;

※ 참고 : 문제4.의 경우처럼 '는 두개를 쳐야 하나로 인식한다.
'  '
' '' '  →두개를 쳐야 하나로 인식
' "" '


1.4) 산술연산자

문제 1.
  교수 테이블에서 교수 이름, 급여 그리고 보너스를 포함한 연봉을 출력하여라.
  단, 보너스를 포함한 연봉은 급여 *12를 한 결과에 보너스 100을 더한 값으로 계산
            한다.
정답> select name, sal, sal*12+100 
      2 from professor;

'Oracle > Oracle - SQL' 카테고리의 다른 글

SQL정리 5장 그룹함수  (0) 2012.01.05
SQL정리 4장 함수  (0) 2012.01.04
SQL정리 1-3장  (0) 2012.01.04
SQL - 기본개념  (0) 2012.01.02
SQL - 실습 준비  (0) 2012.01.02
Posted by 딩구르
,