SELECT 문 사원 테이블의 모든 정보를 출력하는 예제 1. 비교 연산자 SELECT 문의 형태

Slides:



Advertisements
Similar presentations
북한기도제목 4 월 3 주 (4/15-4/21). 1. 북한정치 - 통일부와 국방부는 11 일 잇따라 열린 정례 브리핑에서 지난 7 일 북한 해외 식당 종업원 들이 집단 탈북한 데 이어 북한 정찰총국 출 신 북한군 대좌와 북한 외교관이 지난해 잇 따라 한국으로 망명한.
Advertisements

1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
나를 지키고, 침착하게 대처하려면, 반드시 익혀야 하는
석관중앙교회 5남전도회 석 관 중 앙 교 회 회원 소식 통권 05-04호 발행일 : 2005년 04월 회 장 : 장진호 집사
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
SQL 언어 SQL.
지역사회복지론 1조. 요양보호시설에 대해서 황성국 임재형 이동영
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
SQL 0613.
12 프로젝트 실습.
PL/SQL.
데이터베이스 시스템.
실전 데이터모델링 & 데이터베이스 설계와 구축
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
Second lab (제출기한 : 11월 15일(목) 까지)
오라클 데이터베이스 성능 튜닝.
DataBase 기본 교육 신입사원용 최지철.
Database & Internet Computing Laboratory 한 양 대 학 교
4. 목적론적 윤리와 의무론적 윤리 01. 경험주의와 이성주의 01. 경험주의와 이성주의 02. 결과론적 윤리와 공리주의
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
제 5 장 인덱스 생성 및 관리.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
Chapter 05 SQL 인젝션 공격.
7장 조인.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Apache Hive 빅데이터 분산 컴퓨팅 박영택.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
8장 서브 쿼리.
요약 정보 만들기.
오라클 데이터베이스 성능 튜닝.
기본적인 SELECT문 작성.
데이터 베이스 설계 및 실습 #3 - SQL 함수.
14장 뷰.
9. 데이터베이스 9.5 SQL을 사용하는 프로그램 9.6 데이터폼 작성기를 사용하는 프로그램
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
단일 테이블 조회를 위한 SELECT 문을 이해한다. 열 제약조건과 행 제약조건을 이해한다. 결과 집합 변경 방법을 이해한다.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
SELECT empno, ename, job, sal, dname FROM emp, dept
3장 SQL*Plus 명령어.
9장 테이블 생성 및 변경, 삭제하기(DDL).
SQL.
Quiz #1.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
문양세 (1st version: 문성우) (revised by 손시운)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
13장 무결성 제약조건.
개항기 조선과 동아시아 박 범 한국역사입문Ⅱ.
1장. SELECT 문장을 이용하여 원하는 데이터 가져오기
JSP 게시판 구현.
12장. SELECT 명령문: ORDER BY절 단일 열 정렬 순서번호로 정렬 오름차순과 내림차순 정렬 하나 이상의 행 정렬
View(뷰) 1 가상 테이블(Virtual Relation)
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
Restricting and Sorting Data
Database 중고차 매매 DB 비즈니스IT 윤동섭.
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
오라클 쿼리 문제 EMP (사원 테이블) DEPT (부서 테이블) 컬럼명 설명 EMPNO 사원번호 ENAME 사원명 JOB
기본적인 SELECT문 작성.
8장 테이블의 생성 및 변경 정인기.
SQL INJECTION MADE BY 김 현중.
대구의 부도심 대구의 주요축 동대구 부도심 4조 강민석 / 박성균 / 최은지/ 황재현/김예지.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
SQL 함수.
Presentation transcript:

SELECT 문 사원 테이블의 모든 정보를 출력하는 예제 1. 비교 연산자 SELECT 문의 형태 select * from employee

SELECT 문 특정 칼럼만을 출력하는 예제 1. 비교 연산자 SELECT 문의 형태 select eno, ename, salary from employee

출력되는 컬럼의 수가 다르지만 두 가지 형태 모두 SELECT 절과 FROM 절만 사용하였기에 출력되는 로우 개수는 동일 1. 비교 연산자 SELECT 문 예 select * from employee 예 select eno, ename, salary from employee 출력되는 컬럼의 수가 다르지만 두 가지 형태 모두 SELECT 절과 FROM 절만 사용하였기에 출력되는 로우 개수는 동일

SELECT 문에 WHERE 절을 추가하는 예제 1. 비교 연산자 SELECT 문에 WHERE 절 추가 SELECT 문에 WHERE 절을 추가하는 예제 예 select * from employee where salary>= 500 사원(EMP) 테이블에서 급여(SAL)가 500 이상인 사원 출력 조건에 맞는 로우만 찾기에 출력되는 로우 개수가 줄어듦

로우를 제한하는 조건을 SELECT 문에 WHERE 절을 추가하여 제시 1. 비교 연산자 SELECT 문에 WHERE 절 추가 조건절 로우를 제한하는 조건을 SELECT 문에 WHERE 절을 추가하여 제시 형식 SELECT * [column1, column2, .. ,columnn] FROM table_name WHERE 조건절; 조건절의 구성 예 WHERE salary >= 500; #5 #6 #7 #5 컬럼 #6 연산자 #7 비교대상값

1. 비교 연산자 비교 연산자 WHERE 절에 조건을 설정하기 위한 연산자로 =(같다), >(크다), >=(크거나 같다), <(작다), <=(작거나 같다), <>(같지 않다)와 같은 연산자 연산자 의 미 예 제 = 같다.  select eno, ename, salary from employee  where sal=500; > 보다 크다.  where sal>500; < 보다 작다.  where sal<500; >= 보다 크거나 같다.  where sal>=500; <= 보다 작거나 같다.  where sal<=500; <>, !=, ^= 다르다.  where sal<>500;

VS 1. 비교 연산자 예 select * from employee 예 select * from employee where dno=10 사원(employee) 테이블에서 10 번 부서 소속사원 출력 특정 조건에 해당되는(부서번호가 10번인) 사원에 관한 정보만 출력되기에 로우 개수가 줄어듬

문자열이나 날짜는 반드시 단일 따옴표 안에 표시 1. 비교 연산자 1) 문자 데이터 조회 문자 데이터 조회 비교 연산자를 하기 위해서 다루었던 컬럼들이 수치 형태가 아니고 문자 데이터일 때 조회하는 방법 문자 데이터를 조회하는 오류 예제 예 select * from employee where ename=이문세 이문세를 컬럼으로 간주하고 에러 발생 #3 문자열이나 날짜는 반드시 단일 따옴표 안에 표시

이름이 이문세인 사원의 사원번호(eno)과 사원이름(ename)과 급여(salary)를 출력 1. 비교 연산자 1) 문자 데이터 조회 문자 데이터 조회 비교 연산자를 하기 위해서 다루었던 컬럼들이 수치 형태가 아니고 문자 데이터일 때 조회하는 방법 문자 데이터를 조회하는 예제 예 select * from employee where ename=‘이문세’ 이름이 이문세인 사원의 사원번호(eno)과 사원이름(ename)과 급여(salary)를 출력

날짜 데이터 조회 날짜 데이터를 조회하는 예제 1. 비교 연산자 2) 날짜 데이터 조회 비교 연산자를 하기 위해서 다루었던 컬럼들이 수치 형태가 아니고 날짜일 때 조회하는 방법 날짜도 문자열과 마찬가지로 단일 따옴표 안에 기술 날짜 데이터를 조회하는 예제 예 select * from employee where hiredate<='2008/01/01' 사원(EMP) 테이블에서 입사일(HIREDATE)이 '2008/01/01' 이후인 사원만 출력

2. 논리 연산자 실무 Tip! 조건을 여러 개 조합해서 결과를 얻어야 할 경우 조건을 연결해 주기 위해 논리연산자를 사용합니다. Q 10번 부서 소속인 사원들 중에서 직급이 과장인 사원을 찾아야 할 경우 어떻게 검색해야 할까요? 논리 연산자 조건을 여러 개 조합해서 결과를 얻어야 할 경우에는 조건을 연결해 주기 위해 사용 연산자 의미 예 제 AND 두 가지 조건을 모두 만족해야만 검색할 수 있음 select * from employee  where dno=10 and job='과장‘; OR 두 가지 조건 중에서 한 가지만 만족하더라도 검색할 수 있음 select * from employee  where dno=10 or job='과장'; NOT 조건에 만족하지 못하는 것만 검색 select * from employee  where not dno=10;

AND 연산자 AND 연산자를 사용한 예제 2. 논리 연산자 1) AND 연산자 조건 1 조건2 && 참 거짓 AND 연산자 두 가지 조건을 모두 만족할 경우에만 검색할 수 있도록 하는 연산자  AND 연산자 진리표 AND 연산자를 사용한 예제 [조건1] 10번 부서 소속인 사원 : dno=10 [조건2] 직급이 과장인 사원 : job='과장' 예 select * from employee where dno=10 and job='과장'; employee 테이블에서 부서번호(DNO)가 10이고, 직급(JOB)이 '과장'인 자료의 사원명, 부서번호, 직급 칼럼을 표시

employee 테이블에서 부서번호(DNO)가 10이거나 직급(JOB)이 '과장'인 사원 출력 2. 논리 연산자 2) OR 연산자 조건 1 조건2 || 참 거짓 OR 연산자 두 가지 조건 중 한 가지만 만족하더라도 검색할 수 있도록 하는 연산자 OR 연산자 진리표 OR 연산자를 사용한 예제 [조건1] 10번 부서 소속인 사원 : dno=10 [조건2] 직급이 과장인 사원 : job='과장' select * from employee where dno=10 or job='과장'; employee 테이블에서 부서번호(DNO)가 10이거나 직급(JOB)이 '과장'인 사원 출력 예

OR 연산자 OR 연산자를 사용한 예제 2. 논리 연산자 2) OR 연산자 조건 1 조건2 || 참 거짓 OR 연산자 두 가지 조건 중 한 가지만 만족하더라도 검색할 수 있도록 하는 연산자 OR 연산자 진리표 OR 연산자를 사용한 예제 직급이 '과장'이라는 조건 만족 부서번호가 10인 조건 만족 직급이 '과장'이고, 부서번호가 10인 조건 모두 만족

OR 연산자 2. 논리 연산자 2) OR 연산자 두 가지 조건 중 한 가지만 만족하더라도 검색할 수 있도록 하는 연산자 조건 1 조건2 || 참 거짓 OR 연산자 두 가지 조건 중 한 가지만 만족하더라도 검색할 수 있도록 하는 연산자 OR 연산자 진리표 동일한 조건에 대해서 AND 연산을 하면 조건에 모두 만족해야하므로 로우의 개수가 줄어들게 되고, OR 연산을 사용하면 조건에 맞는 로우의 개수가 늘어나게 됨

Q NOT 연산자 NOT 연산자를 사용한 예제 2. 논리 연산자 10번 부서에 소속된 사원만 제외하고 나머지 사원의 정보를 출력하려면 어떻게 해야 할까요? NOT 연산자 조건 NOT 참 거짓 참은 거짓으로 거짓은 참으로 즉, 반대되는 논리값을 구하는 연산자 NOT 연산자 진리표 NOT 연산자를 사용한 예제 예 select * from employee where not dno=10 employee 테이블에서 부서번호(DNO)가 10이 아닌 사원 출력

실무 Tip! Q NOT 연산자 <> 연산자를 사용한 예제 2. 논리 연산자 확인 확인 2. 논리 연산자 조건 NOT 참 거짓 조건 NOT 참 거짓 특정 조건을 제외하고 나머지 정보만 출력해야 할 경우 반대되는 논리값을 구하는 NOT 연산자를 사용합니다. 3) NOT 연산자 Q 10번 부서에 소속된 사원만 제외하고 나머지 사원의 정보를 출력하려면 어떻게 해야 할까요? NOT 연산자 진리표 NOT 연산자 진리표 NOT 연산자 조건 NOT 참 거짓 참은 거짓으로 거짓은 참으로 즉, 반대되는 논리값을 구하는 연산자 NOT 연산자 진리표 <> 연산자를 사용한 예제 NOT 연산자를 사용하지 않더라도 “같지 않다”를 의미하는 <> 연산자를 이용하여 다음과 같이 표현해도 동일한 결과를 얻을 수 있음 예 select * from employee where dno<>10 employee 테이블에서 부서번호(DNO)가 10이 아닌 사원 출력

employee 테이블에서 급여(salary)가 400에서 500사이인 사원 출력 2. 논리 연산자 4) 논리 연산자의 다양한 활용 논리 연산자를 다양하게 활용한 예제 AND 연산자를 사용하는 경우 [조건1] 급여가 400 이상 : salary>=400 [조건2] 급여가 500 이하 : salary<=500 논리 AND 연산자의 사용 예 예 select * from employee where salary>=400 and salary<=500 employee 테이블에서 급여(salary)가 400에서 500사이인 사원 출력

employee 테이블에서 급여(salary)가 400 미만이거나 500 초과인 사원 출력 2. 논리 연산자 4) 논리 연산자의 다양한 활용 논리 연산자를 다양하게 활용한 예제 OR 연산자를 사용하는 경우1 [조건1] 급여가 400 미만 : salary<400 [조건2] 급여가 500 초과 : salary>500 논리 OR 연산자의 사용 예 예 select * from employee where salary<400 or salary>500 employee 테이블에서 급여(salary)가 400 미만이거나 500 초과인 사원 출력

논리 연산자를 다양하게 활용한 예제 OR 연산자를 사용하는 경우2 2. 논리 연산자 4) 논리 연산자의 다양한 활용 [조건1] 커미션이 80 : commission=80 [조건2] 커미션이 100 : commission=100 [조건3] 커미션이 200 : commission=200 예 select * from employee where commission=80 or commission=100 or commission=200

400에서 500 사이의 급여를 받는 사원과 같이 특정 범위 내에 속하는 데이터인지를 알아보기 위해서는 어떻게 해야 할까요? 3. BETWEEN AND 연산자 400에서 500 사이의 급여를 받는 사원과 같이 특정 범위 내에 속하는 데이터인지를 알아보기 위해서는 어떻게 해야 할까요? Q 예 select * from employee where salary>=400 and salary<=500 형식 column_name BETWEEN A AND B 예 select * from employee where salary between 400 and 500

급여가 400 미만이거나 500 초과인 사원을 검색하기 위해서는 어떻게 해야 할까요? 3. BETWEEN AND 연산자 급여가 400 미만이거나 500 초과인 사원을 검색하기 위해서는 어떻게 해야 할까요? Q 예 select * from employee where salary<400 or salary>500 예 select * from employee where salary not between 400 and 500

BETWEEN AND 연산자에 문자, 날짜를 활용한 예제 비교 대상이 되는 값은 단일 따옴표로 둘러싸야 함 BETWEEN AND 연산자에 문자, 날짜를 활용한 예제 예 select * from employee where hiredate between '2003/01/01' and '2003/12/31' 특정 범위의 값을 조회하기 위해서는 비교 연산자와 논리 연산자 AND를 사용할 수도 있지만, BETWEEN AND 연산자를 사용하면 보다 편리하게 자료를 검색할 수 있음

IN 연산자 IN 연산자를 활용한 예제 4. IN 연산자 예 select * from employee where commission=80 or commission=200 or commission=300 IN 연산자 동일한 필드가 여러 개의 값 중에서 하나라도 같을 경우를 검색하고자 할 때 비교 연산자와 논리 연산자 OR를 사용하지 않고 간단하게 표현하는 연산자 형식 column_name IN (A, B, C) IN 연산자를 활용한 예제 예 select * from employee where commission in(80, 100, 200)

NOT IN 연산자 NOT IN 연산자를 활용한 예제 4. IN 연산자 예select * from employee 예 where commission<>80 and commission<>100 and commission<>200 NOT IN 연산자 동일한 필드가 여러 개의 값과 모두 다를 경우를 검색하고자 할 때 비교 연산자와 논리 연산자 OR를 사용하지 않고 간단하게 표현하는 연산자 NOT IN 연산자를 활용한 예제 예 select * from employee where commission not in(80, 100, 200)

연습하기 내용 급여가 250이거나 300이거나 500인 사원들의 사원 번호와 사원명과 급여를 출력하는 쿼리문을 IN 연산자를 사용하여 작성해 봅시다. 쿼리창에 다음과 같이 입력한 후 <실행>을 클릭합니다. <실행>을 클릭하세요. select eno, ename, salary from employee where salary IN (250, 300, 500)을 입력하세요. 26

연습하기 내용 급여가 250이거나 300이거나 500도 아닌 사원들을 검색하는 쿼리문을 이번에는 NOT IN 연산자를 사용하여 작성해 봅시다. 쿼리창에 다음과 같이 입력한 후 <실행>을 클릭합니다. <실행>을 클릭하세요. select eno, ename, salary from employee where salary not IN (250, 300, 500)을 입력하세요.

검색하고자 하는 값을 정확히 모를 경우에도 검색 가능하도록 하기 위해서 와일드카드와 함께 사용 1. LIKE 연산자와 와일드 카드 이씨 성을 갖는 사람을 찾거나 거주지가 서울인 사람을 찾는 것과 같이 컬럼에 저장된 데이터의 일부만 일치하더라도 조회가 가능할까요? Q LIKE 연산자 컬럼에 저장된 데이터의 일부만 일치하더라도 조회가 가능하도록 하는 연산자 검색하고자 하는 값을 정확히 모를 경우에도 검색 가능하도록 하기 위해서 와일드카드와 함께 사용 와일드카드 의미 % 문자가 없거나, 하나 이상의 문자가 어떤 값이 와도 상관없다. _ 하나의 문자가 어떤 값이 와도 상관없다. 와일드카드 형식 column_name LIKE pattern

O X Q Q 와일드카드(%)를 사용하는 예제 1. LIKE 연산자와 와일드 카드 1) 와일드카드(%) 사용하기 이름이 F로 시작 하지만 그 뒤의 문자는 모르는 사람은 어떻게 찾을까요? 이름이 "이문세“인 사람은 어떻게 찾을까요? Q Q O X 예 select * from employee where ename = '이문세' 예 select * from employee where ename = ‘F' 와일드카드(%)를 사용하는 예제 예 select * from employee where ename like '이%' employee 테이블에서 사원 이름이 '이'로 시작하는 사원을 출력

실무 Tip! Q 와일드카드(%)를 사용하는 예제 1. LIKE 연산자와 와일드 카드 1) 와일드카드(%) 사용하기 이름에 “성”이란 글자가 포함되어 있는 사원을 검색할 경우 like '%성%'‘ 형태로 검색합니다. Q 이름에 “성”이란 글자가 포함되어 있는 사원은 어떻게 검색해야 할까요? 와일드카드(%)를 사용하는 예제 예 select * from employee where ename like '%성%'' employee 테이블에서 사원의 이름에 성이 포함되어 있는 사원을 출력 앞에 % 를 사용하는 것은 인덱스를 사용하지 못하게 하여 성능에 나쁜 영향을 줌

employee 테이블에서 사원 이름이 '성'으로 끝나는 사원을 출력 1. LIKE 연산자와 와일드 카드 실무 Tip! 1) 와일드카드(%) 사용하기 확인 확인 Q 문자열의 앞에 어떤 문자열이 몇 개가 오든 상관없이 “성”으로 끝나는 데이터는 어떻게 검색해야 할까요? 이름에 “성”이란 글자가 포함되어 있는 사원을 검색할 경우 like '%성' 형태로 검색합니다. 와일드카드(%)를 사용하는 예제 예 select * from employee where ename like '%성' employee 테이블에서 사원 이름이 '성'으로 끝나는 사원을 출력

employee 테이블에서 사원명(ENAME)의 두 번째 글자 '성'이고 그 뒤는 무엇이든 관계없는 사원 출력 1. LIKE 연산자와 와일드 카드 2) 와일드카드(_) 사용하기 와일드카드(%) 와일드카드(_) 어떤 문자가 오든 상관없다는 의미로 사용되는 와일드카드 %는 몇 개의 문자가 오든 상관없음 어떤 문자가 오든 상관없다는 의미로 사용되는 와일드카드 _ 는 한 문자에 대해서만 와일드카드 역할 VS #3 와일드카드(_)를 사용하는 예제 예 select * from employee where ename like '_성%' employee 테이블에서 사원명(ENAME)의 두 번째 글자 '성'이고 그 뒤는 무엇이든 관계없는 사원 출력

와일드카드(_)를 사용하는 예제 1. LIKE 연산자와 와일드 카드 2) 와일드카드(_) 사용하기 _를 사용하게 되면 조건의 문자 위치와 순서에 유의 이름 중 두 번째 문자가 “성”인 사람을 검색: _성% 두 번째로 오는 문자가 '성', 그리고 그 뒤는 무엇이든 상관없음 이름 중 세 번째 글자가 성인 자료를 검색: __성% 와일드카드(_)를 사용하는 예제 예 select * from employee where ename like '__성%' employee 테이블에서 사원명(ENAME)의 세 번째 글자 '성'이고 그 뒤는 무엇이든 관계없는 사원 출력 앞에 _ 를 사용하는 것은 인덱스를 사용하지 못하게 하여 성능에 나쁜 영향을 줌

NOT LIKE 연산자 NOT LIKE 연산자를 사용하는 예제 1. LIKE 연산자와 와일드 카드 3) NOT LIKE 연산자 검색하고자 하는 데이터에서 특별한 문자를 포함하지 않는 것만 검색할 경우 사용하는 연산자 NOT LIKE 연산자를 사용하는 예제 예 select * from employee where ename not like '%성%'

NULL 커미션 컬럼의 성격을 파악할 수 있는 예제 2. NULL을 위한 연산자 SQL Server에서는 칼럼에 NULL 값이 저장되는 것을 허용하지만, NULL 값을 제대로 이해하지 못하면 원하는 결과를 얻지 못할 수 있음 NULL ∞나 블랙 홀로 표현 미확정, 알 수 없는(unknown) 값을 의미 연산, 할당, 비교가 불가능 커미션 컬럼의 성격을 파악할 수 있는 예제 예 select ename, dno, commission from employee

NULL NULL을 위한 연산자를 사용하는 예제 2. NULL을 위한 연산자 SQL Server에서는 칼럼에 NULL 값이 저장되는 것을 허용하지만, NULL 값을 제대로 이해하지 못하면 원하는 결과를 얻지 못할 수 있음 NULL ∞나 블랙 홀로 표현 미확정, 알 수 없는(unknown) 값을 의미 연산, 할당, 비교가 불가능 NULL을 위한 연산자를 사용하는 예제 예 select * from employee where commission=null NULL 값을 = 연산자로 판단할 수 없기 때문에 employee 테이블에서 커미션(commission) 칼럼이 NULL인 사원을 찾는데 실패 특정 칼럼에 NOT NULL이라는 조건을 주어서 NULL 값을 저장할 수 없도록 제한을 두기도 하고 NULL 값에 대한 연산을 위해서 특별한 연산자를 제공

임의의 컬럼이 NULL인지 여부 확인 방법 IS NULL 연산자를 사용한 예제 2. NULL을 위한 연산자 1) NULL을 위한 IS NULL과 IS NOT NULL 연산자 임의의 컬럼이 NULL인지 여부 확인 방법 SQL Server에서는 IS NULL 과 IS NOT NULL 연산자 사용 비교 연산자(=)를 사용하지 않고 IS 연산자 사용 어떤 컬럼을 NULL 즉, 모르는 값과 같다(=)라는 것은 의미상으로 말이 되지 않기 때문에 = 대신 IS NULL 연산자로 대체 하는 것 형식 대상컬럼 IS (연산자) NULL(비교값) IS NULL 연산자를 사용한 예제 예 select * from employee where commission is null employee 테이블에서 커미션(commission) 칼럼이 NULL인 사원 출력

임의의 컬럼이 NULL인지 여부 확인 방법 IS NOT NULL 연산자를 사용한 예제 2. NULL을 위한 연산자 1) NULL을 위한 IS NULL과 IS NOT NULL 연산자 임의의 컬럼이 NULL인지 여부 확인 방법 SQL Server에서는 IS NULL 과 IS NOT NULL 연산자 사용 비교 연산자(=)를 사용하지 않고 IS 연산자 사용 어떤 컬럼을 NULL 즉, 모르는 값과 같다(=)라는 것은 의미상으로 말이 되지 않기 때문에 = 대신 IS NULL 연산자로 대체 하는 것 형식 대상컬럼 IS (연산자) NULL(비교값) IS NOT NULL 연산자를 사용한 예제 예 select * from employee where commission is not null employee 테이블에서 커미션(commission) 칼럼이NULL 아닌 사원 출력

정렬 3. 정렬을 위한 ORDER BY 절 순서대로 나열하는 것 오름차순(ascending) 정렬 방식: 위에서 아래로 갈수록 큰 값이 출력되도록 함 내름차순(descending) 정렬 방식: 위에서 아래로 갈수록 작은 값이 출력되도록 함 형식 SELECT * [column1, column2, .. ,columnn] FROM table_name WHERE 조건절 ORDER BY column_name sorting 칼럼 이름을 기술 정렬 방식 기술   ASC(오름차순) DESC(내림차순) 숫자 작은 값부터 정렬 큰 값부터 정렬 문자 사전 순서로 정렬 사전 반대 순서로 정렬 날짜 빠른 날짜 순서로 정렬 늦은 날짜 순서로 정렬 NULL 가장 마지막에 나온다. 가장 먼저 나온다. ORDER BY 절의 정렬 방식

오름차순 정렬 오름차순 정렬을 위한 ASC를 활용하는 예제 3. 정렬을 위한 ORDER BY 절 작은 값부터 큰 값으로 정렬하는 것(예:1~9, ‘A’~‘Z’) 정렬 방식을 생략하게 되면 디폴트로 ASC로 지정되어 있기 때문에 오름차순으로 출력 오름차순 정렬을 위한 ASC를 활용하는 예제 예 select * from employee order by salary asc employee 테이블의 자료를 급여를 기준으로 오름차순으로 정렬하여 출력 RDER BY salary ASC에서 ASC를 생략한 채 ORDER BY salary만 기술해도(정렬방식을 생략해도) 기본적으로 오름차순으로 정렬 예 select * from employee order by salary

내림차순 정렬을 위한 DESC를 활용하는 예제 3. 정렬을 위한 ORDER BY 절 2) 내림차순 정렬을 위한 DESC 내림차순 정렬 큰 값부터 작은 값으로 정렬을 하는 것(예:9~1, Z~A) 내림차순 정렬을 위한 DESC를 활용하는 예제 예 select * from employee order by salary desc

문자 순으로 출력하는 예제 3. 정렬을 위한 ORDER BY 절 3) 문자 순으로 출력 크기에 대한 비교는 문자 데이터에 대해서도 가능 아스키 코드 값으로 저장되므로 아스키 코드 값을 기준으로 정렬 오름차순인 경우의 출력 A, B, . . . Z 순으로 출력 내름차순인 경우의 출력 Z, Y, . . . A 순으로 출력 문자 문자 순으로 출력하는 예제 예 select * from employee order by ename

크기에 대한 비교는 날짜 데이터에 대해서도 가능 3. 정렬을 위한 ORDER BY 절 4) 날짜 순으로 출력 크기에 대한 비교는 날짜 데이터에 대해서도 가능 오름차순으로 지정 가장 오래된 과거의 시점이 가장 위에 출력 내름차순으로 지정 최근 시점부터 가장 위에 출력 날짜 날짜 순으로 출력하는 예제 예 select * from employee order by hiredate desc

정렬 방식에 대해 여러 가지 조건을 주어 결과값을 검색할 수 있음 3. 정렬을 위한 ORDER BY 절 5) 정렬 방식에 여러 가지 조건 제시 정렬 방식에 대해 여러 가지 조건을 주어 결과값을 검색할 수 있음 정렬 방식에 여러 가지 조건을 제시하는 예제 예 select * from employee order by salary desc, ename asc;