SELECT * FROM emp;
--전체 컬럼 나와라
SELECT ename,sal FROM emp;
--emp테이블에서 이름,급여 내용 가져와
empno 사번
ename 이름
job 직업
mgr 관리자 번호
hiredate 입사일
sal 급여
comm 커미션
deptno 부서번호
DUAL 은 함수 및 계산의 결과를 볼 때 사용할 수 있는 공용(public) 테이블
SELECT SYSDATE FROM dual;
오늘 (년도/월/일) 출력
->읽어올때 2자리만 읽어오고 년도 4자리이다.
시분초는 함수를 이용해야함.
연산(아스키 함수)
SELECT 7+10 FROM dual;
SELECT ASCII (0) FROM dual;
연산
SELECT ename,sal,sal+300 FROM emp;
emp에서 저장되어 있는 이름,급여,(가상컬럼) 데이터를 가져와라!
-> 연산으로 테이블에 없는 (가상컬럼)데이터를 가져옴
가공된 컬럼은 테이블에 없고 메모리에만 존재
SELECT ename,sal,(sal+300)*12 FROM emp;
<null>
- 사용할 수 없거나,할당되지 않았거나,알 수 없거나, 적용할 수 없는 값
-*주의* oracle null은 입력값/저장된 값이 없다.
->null을 포함한 연산(산술)은 결과가 null/ 공백과 0과는 의미가 아니다!
-java에서는 객체를 생성하지 않아서 주소가 없다는 의미
SELECT ename,sal,comm,comm+100 FROM emp;
1) 열 이름(sal*12) 바로 뒤에 공백+알리아스를 표시
SELECT sal*12 ASal FROM emp;
컬럼명,알리아스는 대소문자를 구분하지 않는다.
2)열 이름과 알리아스 사이에 as 키워드 명시
SELECT sal*12 AS ASal FROM emp;
SELECT ename AS name,comm AS commission FROM emp;
3)알리아스를 ""로 감싸기
대소문자 구별을 원할 때
공백을 포함하고 싶을 때
_,# 등 특수문자 사용시
숫자로 시작할 경우
SELECT sal*12 "Annual Salary" FROM emp;
>오라클 단독으로 사용할때만 사용, 자바와 연동 하면 안쓴다.
연결연산자
열이나 문자열을 다른 열에 연결
두 개의 세로선 (||) 으로 나타냄
결과 열로 문자식을 생성
SELECT ename || ' has $'sal FROM emp;
문자열은 작은 따음표로 표시
SELECT ename || job AS "Employees" FROM emp;
연결 연산자와 NULL값 : 문자열에 NUll값을 결합할 경우 결과는 문자열
SELECT ename || comm FROM emp;
DISTINCT :중복행 삭제
SELECT deptno FROM emp;
SELECT DISTINCT(deptno) FROM emp;
[실습문제]
1)emp 테이블에서 사원번호,사원이름,월급을 출력하시오.
SELECT empno,ename,sal FROM emp;
2)emp 테이블에서 사원이름과 월급을 출력하는데 컬럼명은 "이 름","월 급" 으로 바꿔서 출력하시오.
SELECT ename AS "이 름", sal AS "월 급" FROM emp;
3)emp 테이블에서 사원번호,사원이름,월급,연봉을 구하고 각각 컬럼명은 "사원번호","사원이름","월급","연봉" 으로 표시하시오.
SELECT empno 사원번호,ename 사원이름,sal 월금,sal*12 연봉 FROM emp;
4)emp 테이블의 업무(job)를 중복되지 않게 표시하시오.
SELECT DISTINCT job FROM emp;
5)emp 테이블의 사원명과 업무를 쉼표(,)로 연결해서 표시하고 컬럼명은 Employee and job 으로 표시하시오.
SELECT ename ||','|| job AS "Emplyee and job" FROM emp;
'DATABASE > SQL' 카테고리의 다른 글
sql 회원관리 (0) | 2022.08.29 |
---|---|
[ mysql ] inner join 예제 (0) | 2022.07.14 |
[ mySql ] 테이블 만들기 / select문 / 함수 (0) | 2022.07.11 |
[ Oracle SQL ] 인덱스(INDEX) (0) | 2022.05.11 |
[ Oracle SQL ] 실습문제 (0) | 2022.04.19 |
댓글