연결 연산자
SELECT 컬럼 || '리터럴' || ......
FROM 테이블;
중복 제거
SELECT [DISTINCT | ALL] 컬럼, 컬럼, ...
FROM 테이블;
예제 1. 다양한 방법으로 사원의 이름을 급여 또는 업무와 함께 검색한다.
SELECT ename||sal 이름_급여
FROM emp;
SELECT ename||' '||sal 이름_급여
FROM emp;
SELECT ename||'의 업무는 '||job||'입니다.'
FROM emp;
예제 2. 주의해야 할 연결 연산자를 이용
SELECT ename||' '||sal+100
FROM emp;
위와 같이 하면 오류가 난다. (연산자 우선순위 때문)
괄호를 붙여주도록 한다.
SELECT ename||' '||(sal+100)
FROM emp;
예제 3. 직원들의 업무는 어떤 것이 있는지 검색한다.(업무의 종류를 검색한다.)
SELECT job 업무 FROM emp;
기본으로 출력되는 것이 ALL이기 때문에 전체가 출력된다.
아래와 같이 출력하면 중복을 제거해 출력한다.
SELECT DISTINCT job 업무 FROM emp;
실습
1. '____학과인 ____학생의 현재 평점은 __입니다.' 형태로 학생의 정보를 출력한다.
SELECT major||'학과인 '||sname||' 학생의 현재 평점은 '||avr||'입니다.'
FROM student;
2. '____과목은 ____학점 과목입니다.' 형태로 과목의 정보를 출력한다.
SELECT cname||'과목은 '||st_num||'학점 과목입니다.'
FROM course;
3. '____교수는 ____학과 소속입니다.' 형태로 교수의 정보를 출력한다.
SELECT pname||'교수는 '||section||' 학과 소속입니다.'
FROM professor;
4. 학교에는 어떤 학과가 있는지 검색한다.(학생 테이블 기반으로 검색한다.)
SELECT DISTINCT major 학과
FROM student;
5. 학교에는 어떤 학과가 있는지 검색한다.(교수 테이블 기반으로 검색한다.)
SELECT DISTINCT section 학과
FROM professor;
6. 교수의 지위는 어떤 것들이 있는지 검색한다.
SELECT DISTINCT orders 교수_지위
FROM professor;
7. '____학생의 4.5 환산 평점은 ____입니다.' 형태로 학생의 환산 평점을 출력한다.
SELECT sname||'학생의 4.5 환산 평점은 '||(avr*4.5/4)||'입니다.'
FROM student;
8. '____과목의 담당 교수 번호는 ____입니다.' 형태로 과목의 정보를 출력한다.
SELECT cname||'과목 담당 교수번호는 '||pno||'입니다.'
FROM course;
9. 학교에 개설된 과목들은 몇 학점짜리인지 검색한다.
SELECT cno 과목번호, cname 과목이름, st_num 학점수
FROM course;
10. 학생들이 수강중인 과목의 과목 번호를 검색한다.
SELECT DISTINCT cno "수강 과목번호"
FROM course;
'SQL 공부 기록' 카테고리의 다른 글
SQL 4 - 정렬을 이용한 자료 검색 및 그룹 검색 (0) | 2021.10.26 |
---|---|
SQL 페이지, 글자 포멧 설정 (0) | 2021.10.25 |
SQL 2 - SELECT 문 2 (별명, 수식, NULL) (0) | 2021.10.21 |
SQL 1 - SELECT 문 (0) | 2021.10.20 |
SQL 공부하기 전 기본 설정 및 실행 (0) | 2021.10.20 |