연산연결자

--사원의 이름을 급여/업무와 결합하여 출력

SELECT  ename || sal || job
FROM emp;

SELECT  ename ||'  '|| sal ||'  '|| job "이름 급여 업무"
FROM emp;

SELECT  ename ||'의 업무는 '|| job|| '입니다' "사원 업무"
FROM emp;


--연산자 우선순위에 의해 ename ||' '||sal 먼저 결합되고 문자열에 100이 더해져서 오류발생
--괄호를 써주면 해결

SELECT ename ||' '||(sal+100)
FROM emp;

 

 

 

중복제거 

 

SELECT [DISTINCT|ALL] 컬럼, 컬럼, ...... 
FROM 테이블; 

  • DISTINCT: 중복제거
  • ALL: 모두 출력(디폴트)
--직원들의 업무는 어떤것이 있는지 검색
SELECT job 업무
FROM emp;

SELECT DISTINCT job 업무-- all은 안붙어있지만 디폴트로 존재 중복된 업무 제거
FROM emp;


--Q1 "_학과인 _학생의 현재 평점은 _입니다"
SELECT major||' 학과인 '||sname||' 학생의 평점은 ' || avr || '입니다.'
FROM student;


--Q2 "_과목은 _학점의 과목입니다."
SELECT cname|| ' 과목은 ' || st_num ||'학점의 과목입니다.'
FROM course;


--Q3 학교에 어떤학과가 있는지 검색
SELECT DISTINCT cname
FROM course;


--Q4 급여를 10%로 인상했을때 연간 지급되는 급여를 검색
SELECT ename, sal, sal +(sal*0.1)
FROM emp;


--Q5 현재학생의 평점은 4.0이 만점이다. 이를 4.5로 환산해서 검색
SELECT sname"이름", avr"4.0 만점", avr/8 * 9"4.5 만점"
FROM student;

 

'db : sql' 카테고리의 다른 글

Oracle/ Exercise 1  (0) 2020.02.25
Oracle/ WHERE절을 이용한 조건 검색  (0) 2020.02.25
Oracle/ 정렬과 묶음 검색  (0) 2020.02.25
Oracle/ 컬럼명의 변경  (0) 2020.02.25
Oracle/ SELECT문 기본  (0) 2020.02.25