본문 바로가기
SQL

SQL select - 실습3

by hj_it 2024. 1. 29.
출력 화면 제어

설정없이 테이블 출력 시

 

ORACLE_HOME/sqlplus/admin/glogin.sql 에 있는 glogin 파일에서 아래에다

'COL 컬럼명 format a사이즈'를 입력하여 컬럼의 크기를 조절할 수 있다.

컬럼 크기 설정

파일 저장 후 cmd에 sqlplus를 재실행 한 후 테이블을 출력하면 설정이 되어져있다.

설정한 사이즈데로 컬럼 크기 변경

 

 

연결 연산자
SELECT [컬럼 | '리터럴'] ||, ......
FROM 테이블;

- 연결연산자(||)는 컬럼과 리터럴을 연결하여 하나의 문자열로 값을 검색한다.

- 연결연산자 사용 시 주의 사항

   , 연산을 사용할 경우 *, /의 경우 연결 연산자보다 우선순위가 크기 때문에 에러가 발생할 수 있으므로 괄호() 를 사용하여 연산을 작성한다.

 

 

중복제거
SELECT [DISTINCT | ALL] ......
FROM 테이블;

- DISTINCT: 중복된 행을 한번만 출력

- ALL: 중복된 모든 행을 출력(기본값)

 

 

실습

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.0)||'입니다.'
FROM student;

8. '____과목의 담당 교수 번호는 ____입니다.' 형태로 과목의 정보를 출력한다.

SELECT cname||'과목의 담당 교수 번호는 '||pno||'입니다.'
FROM course;

9. 학교에 개설된 과목들은 몇 학점인지 검색한다.

SELECT DISTINCT cno, cname, st_num FROM course;

10. 학생들이 수강중인 과목의 과목번호를 검색한다.

SELECT DISTINCT cno FROM score;

 

 

 

 

 

2024.01.24 - [SQL] - SQL select - 실습1

 

SQL select - 실습1

실습 테이블 테이블 내용 테이블 내용 emp dept salgrade 사원 부서 급여등급 student professor course score scgrade 학생 교수 과목 기말고사점수 점수등급 테이블 상세 구조 emp(사원) dept(부서) salgrade(급여등

backendmaster.tistory.com

<테이블 정보>

'SQL' 카테고리의 다른 글

SQL select - 실습5  (1) 2024.01.29
SQL select - 실습4  (1) 2024.01.29
SQL select - 실습2  (1) 2024.01.25
SQL select - 실습1  (0) 2024.01.24
[SQL] DB와 SQL  (0) 2024.01.24