SELECT문
데이터베이스로부터 저장되어 있는 데이터를 검색하는데 사용
키워드 (SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY)
절(clause) : 키워드가 포함된 라인
문(statement) : 하나 이상의 절이 결합
SELECT문 : 데이터베이스로부터 저장되어있는 데이터를 검색하는데 사용.
전체 컬럼의 데이터 읽기
SELECT empno,ename,job,mgr,hiredate,sal,comm,deptno FROM emp;
SELECT *FROM emp;
부분 컬럼의 데이터 읽기
SELECT ename,sal FROM emp;
주석
SELECT * /*주석내용*/FROM emp;
DUAL
DUAL : 함수 및 계산의 결과를 볼 때 사용할 수 있는 공용(public)테이블
사용자 데이터가 있는 테이블에서 유래하지 않은 상수 값.
의사열(pseudo-comn), 표현식 등의 값을 단 한번만 돌리거나 현재 날짜,
시각을 알고자 할 때 이용. 일시적인 산술,날짜 연산 등의 주로 사용
/*오늘 날짜가 테이블로 나오는 코드(년/월/일)*/
SELECT SYSDATE FROM dual;
SELECT ASCII('A') FROM dual;
SELECT ASCII(0) FROM dual;
SELECT 7+10 FROM dual;
SELECT문 : 데이터베이스로부터 저장되어있는 데이터를 검색하는데 사용.
전체 컬럼의 데이터 읽기
SELECT empno,ename,job,mgr,hiredate,sal,comm,deptno FROM emp;
SELECT *FROM emp;
부분 컬럼의 데이터 읽기
SELECT ename,sal FROM emp;
주석
SELECT * /*주석내용*/FROM emp;
연산
-산술식 : 산술 연산자(+,-,*,/)를 사용하여 숫자 및 날짜 데이터로 표현식을 작성
연산
SELECT ename,sal,sal+300 FROM emp;
연산자 우선순위
SELECT ename,sal,(sal+300)*12 FROM emp;
NULL값의 정의 : NULL은 사용할 수 없거나, 할당되지 않았거나, 알수 없거나, 적용할 수 없는 값
(NULL은 0이나 공백과는 다름)
SELECT empno, ename, job, comm FROM emp;
산술식의 NULL값 : NULL값을 포함하는 산술식은 NULL로 계산
/*null값을 가지고 있는 행은 연산식을 진행하면 null값으로만 나옴*/
SELECT ename,(sal+comm)*12 FROM emp;
-NULL값의 정의 : NULL은 사용할 수 없거나, 할당되지 않았거나, 알수 없거나, 적용할 수 없는 값(NULL은 0이나 공백과는 다름)
SELECT empno, ename, job, comm FROM emp;
-산술식의 NULL값 : NULL값을 포함하는 산술식은 NULL로 계산
/*null값을 가지고 있는 행은 연산식을 진행하면 null값으로만 나옴*/
SELECT ename,(sal+comm)*12 FROM emp;
ALIAS
열 ALIAS :열의 별칭
열 이름 바로 뒤에 나옴. 열 이름과 ALIAS 사이에 선택사항인 AS 키워드가 올 수도 있음.
알리아스에 큰따옴표를 사용하는 경우 (컬럼명)
- 대소문자 구별을 원할 때
- 공백 포함시
- _,#등 특수문자 사용시(_는 ""없이 중간에는 올 수 있으나 맨 앞에 두면 오류 발생)
- 숫자로 시작할 경우
SELECT sal*12 ASal FROM emp;
/* 위 아래 둘 다 같은 결과가 나옴 AS는 써도되고 안써도 됨.*/
SELECT sal*12 AS ASal FROM emp;
따옴표를 사용한 컬럼명 명시하기.
SELECT sal*12 "Annual Salary" FROM emp;/*큰 따옴표 사용 */
연결연산자
연결 연산자: 열이나 문자열을 다른 열에 연결, 두 개의 세로선( | | ) 으로 나타냄.
결과 열로 문자식을 생성
SELECT ename || 'has $' || sal FROM emp; /*자바와 다르게 문자와 문자열의 구별이 없기 때문에 작은따옴표씀. 큰 따옴표는 알리아스를 명시할 때만 사용한다 .*/
연결 연산자와 NULL값 : 문자열에 NULL값을 결합할 경우 결과는 문자열(NULL이 보이지않고 기존에 있던 문자열만 나온다.)
SELECT ename || comm FROM emp;
DISTINCT중복행 삭제
DISTINCT : 중복행 삭제
SELECT DISTINCT deptno FROM emp;
/* 위 아래 둘 다 같은 결과가 나옴.*/
SELECT DISTINCT(deptno) FROM emp; /*소괄호는 최우선 연산자이다.*/
실습문제
[실습문제]
1. emp 테이블에서 사원번호,사원이름,월급을 출력하시오.
2.emp 테이블에서 사원이름과 월급을 출력하는데 컬럼명은 "이 름", "월 급" 으로 바꿔서 출력하시오
3.emp 테이블에서 사원번호,사원이름,월급,연봉을 구하고 각각 컬럼명은 "사원번호","사원이름","월급","연봉"으로 출력하시오.
4.emp테이블의 업무(job)를 중복되지않게 표시하시오.
1번
SELECT empno,ename,sal FROM emp;
2번
SELECT ename AS "이 름",sal AS "월 급" FROM emp;
3번
SELECT empno 사원번호,ename 사원이름,sal 월급,sal*12 연봉 FROM emp;
4번
SELECT DISTINCT job FROM emp;
'쌍용교육(JAVA) > SQL' 카테고리의 다른 글
쌍용교육 -SQL 수업 17일차 숫자함수-(1.CEIL,FLOOR,ROUND,2.TRUNC3.MOD) (0) | 2024.04.12 |
---|---|
쌍용교육 -SQL 수업 17일차 문자함수-(1.대소문자 조작 함수,2.문자 조작함수3.SUBSTR4.LENGTH,5.-INSTR,6.LPAD,RPAD,7.TRIM,8.REPLACE ,함수중첩,9.실습문제) (0) | 2024.04.12 |
쌍용교육 -SQL 수업 17일차(LIKE,NULL조건 사용,(AND,OR,NOT논리연산자),실습문제,ORDER BY 절,실습문제) (0) | 2024.04.12 |
쌍용교육 -SQL 수업 16일차 (WHERE절,BETWEEN…AND…,IN(),실습문제) (0) | 2024.04.12 |
쌍용교육 -SQL 수업 16일차 SQLD 기초 (0) | 2024.04.12 |