1 / 34

기본적인 SELECT 문 작성

기본적인 SELECT 문 작성. SELECT 문. 기본 형식. SELECT 문 기본형식. SELECT 나열할 컬럼 목록 FROM 가져올 테이블 [ WHERE 가져올 행의 조건 ] [ ORDER BY 정렬 키 목록 ]. 열 제약조건. 모든 열 (*). * 는 열 제약이 전혀 없다는 것을 나타냄 테이블의 모든 열을 조회 이때 열들은 정의되어 있는 순서대로 나타남 예제 SELECT * FROM Dept. 열 제약조건. 열 목록. 모든 열 (*) 대신 특정 열들의 목록 지정 가능

tierra
Download Presentation

기본적인 SELECT 문 작성

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 기본적인 SELECT문 작성

  2. SELECT 문 • 기본 형식 • SELECT 문 기본형식 SELECT나열할 컬럼 목록 FROM가져올 테이블 [WHERE가져올 행의 조건] [ORDER BY정렬 키 목록]

  3. 열 제약조건 • 모든 열(*) • * 는 열 제약이 전혀 없다는 것을 나타냄 • 테이블의 모든 열을 조회 • 이때 열들은 정의되어 있는 순서대로 나타남 • 예제 SELECT * FROM Dept

  4. 열 제약조건 • 열 목록 • 모든 열(*) 대신 특정 열들의 목록 지정 가능 • 테이블의 모든 열들을 정의한 순서대로 나열 • 예제 SELECT empno, ename, salFROM Emp

  5. 열 제약조건 • 열 별칭 지정 • 형식 SELECT 컬럼명 as별명1, 컬럼명2 as별명2FROM 테이블명 • 별칭에 공백이나 특수 문자가 포함될 경우에는‘ ’, “ ”또는 [ ]로 둘러싸야 한다.

  6. 열 제약조건 • 열 별칭 지정 • 예제 SELECT empno AS 사번, ename AS 이름, sal AS salaryFROM Emp

  7. 열 제약조건 • 열 별칭 지정 • 예제 SELECT empno 사번, ename 이름, sal salaryFROM Emp

  8. 열 제약조건 • 열 별칭 지정 • 계산된 파생 열 • 원래 테이블에 있던 열이 아니라 계산에 의해 새로 만들어진 열 • 예제 SELECT empno, ename, sal * 12FROM Emp

  9. 열 제약조건 • 열 별칭 지정 • 계산된 파생 열 • 원래 테이블에 있던 열이 아니라 계산에 의해 새로 만들어진 열 • 예제 SELECT empno, ename, sal * 12 AS 연봉FROM Emp

  10. 열 제약조건 • 상수 열 • 상수열 • 테이블 열 값 대신 모든 레코드에 동일한 상수 값을 출력하는 열 • 예제 SELECT empno, ename, ‘연봉’, sal * 12 FROM Emp

  11. 행 제약조건 • 비교 연산자 • 행 제약조건 • SELECT 문으로 행들을 조회할 때 행을 제약하여 원하는 일부 행들만 결과집합으로 출력 • 비교 연산자 • 열의 값이 특정 값과 일치하는지 또는 더 크거나 작은 지 비교 하는 데 쓰임

  12. 행 제약조건 • 비교 연산자 • 예제 SELECT * FROM EmpWHERE Job = ‘analyst’

  13. 행 제약조건 • 논리 연산자 • 논리 연산자 • 연산식들을 논리적으로 결합 • NOT → AND → OR 순의 우선순위 있음 • 결합 순서를 바꾸려면 ‘( )’로 둘러싸야 함

  14. 행 제약조건 • 논리 연산자 • 예제 SELECT * FROM EmpWHERE Job = ‘analyst’ and sal = 3000

  15. 행 제약조건 • 논리 연산자 • 활용 • Emp 테이블에서 job이 analyst이고 sal이 3000인 값의 ename과 sal 컬럼을 반환하되, 컬럼명을 name과 salary로 대신하여 반환하시오. • Emp 테이블에서 job이 analyst이고 sal이 3000인 값의 ename, job , sal 컬럼을 반환하되, sal컬럼값에 12를 곱하여 반환하시오.

  16. 행 제약조건 • 논리 연산자 • 활용 • Emp 테이블에서 job이 analyst이고 sal이 3000인 값의 ename과 sal 컬럼을 반환하되, 컬럼명을 name과 salary로 대신하여 반환하시오. • SELECT ename AS name, sal AS salary FROM EmpWHERE job = ‘analyst’ AND sal = 3000

  17. 행 제약조건 • 논리 연산자 • 활용 • Emp 테이블에서 job이 analyst이고 sal이 3000인 값의 ename, job , sal 컬럼을 반환하되, sal컬럼 값에 12를 곱하여 반환하시오. • SELECT ename AS name, job, sal*12 AS salary FROM EmpWHERE job = ‘analyst’ AND sal = 3000

  18. 행 제약조건 • 문자열 패턴 매칭(LIKE연산자) • 문자열 패턴 매칭(pattern matching)을 해주는 연산자 • 소량의 문자열 검색에 많이 사용 • 형식 SELECT * FROM 테이블명where 필드명 LIKE pattern • pattern에는 와일드카드 문자가 포함된 문자열 상수가 옴

  19. 행 제약조건 • 문자열 패턴 매칭(LIKE연산자) • 와일드카드 문자 (p103)

  20. 행 제약조건 • 문자열 패턴 매칭(LIKE연산자) • Example

  21. 행 제약조건 • 문자열 패턴 매칭(LIKE연산자) • 예제 SELECT * FROM Empwhere enamelike ‘a%’

  22. 행 제약조건 • 문자열 패턴 매칭(LIKE연산자) • 활용 • Emp 테이블에서 ename이 m으로 시작하는 ename을 찾으시오 • Emp 테이블에서 ename이 a로 시작하고 a다음에 네 글자가 있는 ename을 찾으시오. • Emp 테이블에서 ename의 내용 중 s가 있는 ename을 찾으시오.

  23. 행 제약조건 • 범위 검색(BETWEEN연산자) • 최소값과 최대값 사이의 범위에 들어가는지 여부를 파악할 때 쓰임 • 형식 SELECT * FROM 테이블명where 필드명 between A AND B • A는 최소값, B는 최대값

  24. 행 제약조건 • 범위 검색(BETWEEN연산자) • 예제 SELECT * FROM Empwhere salbetween 1200 AND 1500

  25. 행 제약조건 • 범위 검색(BETWEEN연산자) • 활용 • Emp에서 deptno가 10이상 20이하인 값들의 ename, job, deptno를 검색하시오. • Emp에서 1981년부터 1985년 사이에 입사한 사람들의 ename, job, hiredate를 검색하시오.

  26. 행 제약조건 • 목록 검색(IN연산자) • 목록 안의 값 중 하나와 일치하는지 여부를 파악 • 형식 SELECT * FROM 테이블명where 필드명 IN (값목록) • 값목록은 보통 쉼표로 구분된 상수 값들이 옴 • (예) col IN (1, 2, 4, 9)

  27. 행 제약조건 • 목록 검색(IN연산자) • 예제 SELECT * FROM Empwhere jobIN (salesman, analyst, student)

  28. 행 제약조건 • 목록 검색(IN연산자) • 활용 • Emp에서 이름이 jones, smith 인 사람의 ename, job컬럼을 검색하시오. • Emp에서 이름이 jone, smith가 아닌 사람의 ename, job을 검색하시오.

  29. 행 제약조건 • Not 연산자 • SELECT * FROM 테이블명where 필드명 Not LIKE pattern • SELECT * FROM 테이블명where 필드명 Not Between a AND b • SELECT * FROM 테이블명where 필드명 Not IN (값1, 값2, …)

  30. 결과 집합 변경 • 행 정렬(ORDER BY 절) • 행들을 특정 열(들)을 기준으로 정렬 할 때 사용 • 형식 SELECT * FROM 테이블명where 조건Order By 필드명 [ASC | DESC], … • ASC는 오름차순 정렬, DESC는 내림차순 정렬을 지정 • 기본적으로 오름차순이므로 ASC는 생략해도 무관 • 1차 정렬 키, 2차 정렬 키

  31. 결과 집합 변경 • 행 정렬(ORDER BY 절) • 예제 SELECT * FROM EmpOrder By jobDESC

  32. 결과 집합 변경 • 행 정렬(ORDER BY 절) • 활용 • Emp에서 봉급이 2000이하인 사람을 모두 찾아 고객사원번호가 큰 사람부터 작은 사람 순으로 검색하시오. • Emp에서 job의 순서대로 오름차순 정렬한 후, 동일 값 발생시 이름순으로 오름차순 정렬하시오. • Emp에서 부서번호가 20인 사람을 찾아 job컬럼으로 오름차순 정렬 후, sal 컬럼에 대해 내림차순 정렬하시오. • Emp에서 부서번호가 30인 사람을 찾아 job, sal 컬럼에 대해 내림차순 정렬하시오.

  33. 결과 집합 변경 • 중복 행 제거(DISTINCT) • 중복된 레코드들을 하나씩만 나타나게 하려면 열 목록에 DISTINCT를 사용 • 형식 SELECT Distinct필드명, …FROM 테이블명

  34. 결과 집합 변경 • 중복 행 제거(DISTINCT) • 활용 • Emp에서 부서번호가 20이상인 사람의 job을 검색하시오. • Emp에서 부서번호가 20이상인 사람의 job을 검색하되 중복을 제거하시오.

More Related