2일차 SQL-SELECT

Aiden·2020년 7월 23일
0

selct * from tab;

SELECT EMPNO, ENAME, COMM, COMM+100 FROM EMP;
DESC EMP;

SELECT 123123 * 12389182 FROM DUAL;

null 값을 가진 컬럼을 연산하기 위해서는 NVL 또는 NVL2 함수를 사용할 수 있다.
NVL 함수의 사용법은 다음과 같으며, 컬럼값이 null인 경우에 기본값으로 설정한다.
NVL ( 컬럼명, 기본값 ) or NVL2( 컬럼명, A, B )
select empno, ename, comm, NVL(comm,0) + 100 from emp;
select empno, ename, comm, nvl(comm,0) from emp;

select empno, ename, comm, nvl(comm,0), NVL2 (comm, 1,2) from emp;

• 컬럼에 별칭( alias ) 사용.
select dname as 부서이름 from dept; --as를빼도 상관없다.
select dname 부서이름 from dept;

select ename || job as "이름 직업" from emp;

[" "] alias별칭을 사용하는 경우에만 사용.
select ename || job as "이름 직업" from emp;
select ename || job || mgr "이름직업사원번호" from emp;

 연결 연산자
• 여러 개의 문자열을 연결하여 하나의 문자열로 생성.
select ename || job as "이름 직업" from emp;
select ename || job || mgr "이름직업사원번호" from emp;

• 리터럴( Literal) • SELECT 문장에 포함된 컬럼명 또는 별칭 이외의 문자값, 숫자값, 날짜값이다. • 반드시 문자값 , 날짜값에는 ‘ ‘ 을 붙인다.
select ename||'의 월급은 '||sal||'이다' "사원별 월급" from emp;
select SMITH||'의 월급은 '||sal||'이다' "사원별 월급" from emp;-- 안됨

 중복 행 제거
• DISTINCT 키워드 이용 중복된 값 제거하여 한번만 출력.
select distinct job from emp;--중복 제거
select job from emp;

 WHERE
select from emp where ename = JAMES;
ORA-00904: "JAMES": 부적합한 식별자
00904. 00000 - "%s: invalid identifier"
Cause:
*Action:
38행, 33열에서 오류 발생

해결 ' '
select * from emp where ename = 'JAMES';

WHERE – 비교 연산자 1
select empno, ename, sal from emp where sal <= 1000;

select * from emp where job != 'SALESMAN';

select empno, ename, sal from emp where sal between 1000 and 2000;

select DEPARTMENT_NAME "학과명", CATEGORY "계열" from tb_department;

select department_name||'의 정원은 '||capacity||'입니다' "학과별 정원" from tb_department;

select department_no from tb_department where department_no = 001;

select student_name from tb_student where absence_yn = 'Y' and department_no = 001;

WHERE – 비교 연산자 2 SQL
• LIKE 연산자
-검색하고자 하는 문자열을 정확히 알 수 없는 경우에 사용.

 7 ) 정렬 SQL
• SELECT 문장에 의해 검색된 결과를 정렬 ( 기본은 ASC )
SELECT [DISTINCT] { *, column [alias],… }
FROM table
[WHERE 조건식]ORDER BY {column , exp } [ASC|DESC] ];
• null
-오라클은 null값을 가장 큰 값으로
간주한다.

  • 패턴 매칭 연산자 이용 ( 와일드 카드 )
  • 검색하고자 하는 문자열에 패턴 매칭 연산자가 포함되어 있을 때는
    ESCAPE 옵션을 사용한다.

0개의 댓글