1

Similar documents
CH04) 쿼리 (Query) 데이터베이스일반 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본

5장 SQL 언어 Part II

PowerPoint 프레젠테이션

강의 개요

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

액세스에서 자주 사용하는 함수

OCW_C언어 기초

<4D F736F F F696E74202D20C4C4C8B031B1DEC7CAB1E22DC0FCC3BCB1B3C0E72D D3133B3E232C8B8B1EEC1F6202D20BAB9BBE7BABB2E707074>

[ASP: 그림 2-2] date.asp 실행결과 DateAdd 지정된날짜에시간을추가하거나뺀새로운날짜를반환한다. 구문 : DateAdd(interval, number, date) interval : 필수적인인수로 interval 을추가한날짜를나타내는문자식이다. 그값에대

SQL

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint 프레젠테이션

Microsoft PowerPoint - e pptx

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

쉽게 풀어쓴 C 프로그래밊

18강.hwp

DBMS & SQL Server Installation Database Laboratory

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

슬라이드 제목 없음

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

설계란 무엇인가?

View Licenses and Services (customer)

PowerPoint Presentation

chap 5: Trees

Microsoft PowerPoint - chap04-연산자.pptx

Windows 8에서 BioStar 1 설치하기

슬라이드 제목 없음

슬라이드 1

PowerPoint 프레젠테이션

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

Microsoft PowerPoint - [2009] 02.pptx

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

강의 개요

Microsoft PowerPoint - 10Àå.ppt

PowerPoint 프레젠테이션

빅데이터분산컴퓨팅-5-수정

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

윈도우즈프로그래밍(1)

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

PowerPoint Template

Endpoint Protector - Active Directory Deployment Guide

메뉴얼41페이지-2

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

tiawPlot ac 사용방법

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Microsoft PowerPoint - chap05-제어문.pptx

문서 템플릿

Tcl의 문법

PowerPoint Template

PowerPoint 프레젠테이션

Visual Basic 반복문

PowerPoint Presentation

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

statistics

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

Microsoft PowerPoint - C++ 5 .pptx

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

(Microsoft PowerPoint - 2\300\345.ppt)

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Microsoft PowerPoint - 엑셀2003 교안.ppt [호환 모드]

EEAP - Proposal Template

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

쉽게 풀어쓴 C 프로그래밍

금오공대 컴퓨터공학전공 강의자료

PowerPoint Presentation

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

로거 자료실

단원 명

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Microsoft PowerPoint Python-DB

ORACLE-SQL

Microsoft PowerPoint - Java7.pptx

arcplan Enterprise 6 Charting Facelifts

PowerPoint Presentation

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

The Basic Of Blind SQL Injection Sur3x5F - PRIDE NateOn : PRIDE in Sur3x5F All rights are reserved

<4D F736F F F696E74202D203236C2F7BDC3C7D0BDC0B3BBBFEB28B1E2C3E2B9AEC1A632C8B82D32B0FAB8F1292E BC8A3C8AF20B8F0B5E55D>

캘크 시작하기

Microsoft PowerPoint - chap-06.pptx

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

MySQL-.. 1

윈도우시스템프로그래밍

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerPoint Presentation

EEAP - Proposal Template

Java ...

쉽게 풀어쓴 C 프로그래밍

-->> 바로위의예제와같은내용이지맊이런식으로해도된다 -->> 삽입한데이터확인 위에대한모든 INSERT 구문에는 'customerid' 에대한값이없다, 'customerid' 는 <customer> 테이블에기본키였으므로이상하게이상하게생각될지도모르겠지맊앞선에서테이블을설정할

<4D F736F F F696E74202D C20C4C4C7BBC5CD20C8B0BFEB20B9D720C6C4C0CF20B0FCB8AE20BBF9C7C >

<C1A6B0F8B0ADC1C22920C8B2C0E7BCB1B4D C696F D B1E2C3CA>

IRISCard Anywhere 5

마지막 변경일 2018년 5월 7일 ** 이항분포와 정규분포의 관계 ** Geogebra와 수학의 시각화 책의 3.2소절 내용임. 가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다.

Transcription:

15 단원 데이터베이스질의 1. 쿼리의기본 2. 식의사용 3. 집단함수및 Group By절 4. 다중테이블쿼리 5. 실행질의 1/22

1. 쿼리의기본 1) 쿼리 ( 질의, Query) 의개념 쿼리 (Query) 는사용하면데이터베이스에서특정레코드를추출하여다양한방법으로데이터를검색, 유지, 관리할수있는데이터베이스개체입니다. 특정테이블이나폼이닫혀있는상태에서원하는레코드의집합을볼때, 원하는레코드가있는테이블이둘이상이거나, 검색된레코드의필드를제어하거나필드값을계산할때사용되며, 폼, 보고서, 데이터액세스페이지등의원본으로사용할수도있습니다. 쿼리의종류 선택쿼리 : 지정된조건으로여러개의테이블에서데이터를검색한다음, 지정된순서대로표시한다. 즉레코드를그룹으로묶어서합계, 개수, 평균, 기타합계등을계산하는쿼리다. 매개변수쿼리 : 검색조건또는필드에삽입할값과같은정보를입력할수있는쿼리매개변수대화상자를통하여입력받아질의사용하는질의이다. 실행쿼리 : 여러레코드를한꺼번에변경할수있는쿼리로삭제쿼리, 업데이트쿼리, 추가쿼리, 테이블작성쿼리등네가지로나뉜다. 특히실행쿼리는테이블의내용을변경하는질의로서여러개의레코드를한번에변경할수있다. SQL 쿼리 : SQL 문을사용하여만드는쿼리로통합쿼리, 창구쿼리, 데이터정의쿼리, 하위쿼리등이있다. 크로스탭쿼리 : 데이터시트의왼쪽에있는정보를가로로그룹화한후데이터의개수, 합계, 평균등의요약을계산을수행한다. 데이터시트를분석하기쉽도록가로및세로로그룹화할수있다. 2) 질의만들기 질의작성은마법사를이용하거나디자인보기에서직접만드는방법이있습니다. (1) 마법사를이용한단순쿼리만들기 단순쿼리마법사를이용하여고객테이블에서주소가 용산구 인데이터의고객번호, 성명, 주소필드를추출해보도록하겠습니다. 2/22

먼저데이터베이스선택창에서 [ 쿼리 ] 개체를클릭합니다. [ 마법사를사용하여쿼리만들기 ] 항목을더블클릭합니다. < 단순쿼리마법사 > 대화상자가나타나면우선 [ 테이블 / 쿼리 ] 를선택하는목록상자에서고객테이블을선택합니다. 현재는고객테이블만있지만테이블과쿼리가여러개있을경우에는꼭정확히원하는항목을선택했는지확인하시기바랍니다. [ 사용할수있는필드 ] 항목에서는쿼리에서사용할필드를선택합니다. 필드선택단추중모든필드를한꺼번에선택하여추가할수있는두번째단추를클릭한후다음단추를클릭합니다. 쿼리의제목은기본으로주어진값으로두고 [ 쿼리디자인수정 ] 항목을선택한후 < 마침 > 단추를클릭합니다. 3/22

설정된사항에따라작성한쿼리디자인을수정할수있는창이나타납니다. 필요한고객번호, 성명, 주소필드를제외한필드는 [ 표시 ] 의체크박스를클릭하여선택을해제해줍니다. 주소필드에는연산자를이용하여조건을지정하여야하는데, 조건항목에 [= 용산구 ] 라고입력하여주소필드의값이 용산구 와같은데이터만추출하도록합니다. 데이터베이스도구모음의보기형식아이콘을클릭하여 [ 데이터시트보기 ] 창으로이동합니다. 고객테이블에서주소가 용산구 인데이터의고객번호, 성명, 주소필드만추출되어있는것을확인할수있습니다. 쿼리데이터시트도구모음에서 < 저장 > 단추를클릭하여쿼리설정을마칩니다. < 닫기 > 단추를클릭하여 고객 Query 창을닫습니다. >> 여기서잠깐 4/22

구성요소 설명 창 (1) 쿼리에사용되는테이블이나쿼리목록을표시 창 (2) 쿼리에사용할필드를추가하거나조건을지정 필드 쿼리에사용할필드지정 테이블 추가된필드의테이블이름으로자동설정 정렬 지정된필드의레코드정렬순서지정 표시 쿼리에포함된필드의표시여부지정 조건 필드에특정한값만검색할경우지정 또는 여러조건을설정할때지정 (OR조건) 3) SQL 문 (1) SQL 문정의 SQL 문이란 SELECT, UPDATE, DELETE 등의 SQL 명령을정의하는식으로 WHERE, ORDER BY 와같은 절을포함합니다. 또한대부분 SQL 문은쿼리와계산함수에사용된다. 단순쿼리마법사를이용하여쿼리를만든경우는 SQL 문이자동으로생성되어결과를보여주는것입니다. (2)SQL 문보기 SQL 문을볼수있는방법은여러가지가있습니다. 쿼리창의도구모음에서 [ 보기형식 ] 삼각버튼을클릭한후 [SQL] 보기를선택하면현재쿼리의 SQL 문을볼수있습니다. [ 보기 ] 메뉴-[SQL] 보기또는바로가기 ( 단축 ) 메뉴에서 [SQL] 를선택합니다. [SQL 보기 ] 메뉴는쿼리가실행된상태또는쿼리창이실행된상태에서만사용할수있습니다. 쿼리마법사또는디자인보기를이용하여 [SQL 보기 ] 로확인하고수정할수있습니다. 단순쿼리마법사를이용하여작성된쿼리는쿼리가실행된상태에서보기형식아이콘을클릭하여 [SQL 보기 ] 항목을선택하면 SQL 문을확인해볼수있습니다. 4) 단순조회질의 (SQL 문 ) (1) 구문그럼 SQL문의가장기초적인명령인 SELECT문부터학습하겠습니다. SELECT문에서는 SELECT, FROM, WHERE 등여러가지절을사용할수있으며, 함수나산술식도사용 5/22

가능합니다. 검색하려는열의이름이여러개일경우는열이름사이를콤마 (,) 로구분합니다. SELECT문의형식은다음과같습니다. ------------------------- SELECT [DISTINCT] 필드명 ( 검색하고자하는열들의이름을지정합니다.) FROM 테이블명 ( 자료를가져올대상테이블을지정합니다.) ------------------------- 1 SQL 문에서는대 소문자를구분하지않으며, 마지막에 ; 을입력해 SQL 문의끝임을알린다. 2 SELECT 문에 DISTINCT' 를입력하면검색의결과가중복되는레코드는검색시한번만표시된다. 3 필드이름 : 테이블의모든필드를검색할경우에는필드이름대신 * 를입력하고, 특정필드들만검색할경우필드와필드는쉼표 (,) 로구분하여표시한다. [ 고객 ] 테이블에서성명, 전화검색 SELECT 성명, 전화 FROM 고객 ; [ 고객 ] 테이블의모든필드검색 SELECT * FROM 고객 ; [ 고객 ] 테이블에서전화, 주소를검색하며, 중복된레코드는한번만표시하여검색 SELECT DISTINCT 전화, 주소 FROM 고객 ; WHERE절을이용한특정레코드의조회여러필드중특정조건에만족하는레코드만검색할때에는 WHERE절을사용합니다. 형식은다음과같이 FROM절다음에 WHERE를입력한후조건을지정하면됩니다. SELECT 필드명 FROM 테이블명 WHERE 조건 ; [ 사원 ] 테이블에서직급이 과장 인레코드의성명, 직급, 부서검색 SELECT 성명, 직급, 부서 FROM 사원 WHERE 직급 =" 과장 ; [ 월별매출 ] 테이블에서지점이 강북 이고판매수량이 100 이상인레코드의매출제품, 금액검색 SELECT 매출제품, 금액 FROM 월별매출 WHERE 지점 = 강북 AND 판매수량 >=100; (2) ORDER BY 절의사용 ORDER BY 절은쿼리의결과로검색된레코드를특정한필드를기준으로정렬할때사용됩니다. 6/22

SELECT 문의가장마지막에위치하며, 기본값은오름차순입니다. ORDER BY절에직접 ASC를입력하여오름차순정렬을선언하거나 DESC를입력하여내림차순정렬을선언할수도있습니다. 형식은다음과같습니다. SELECT 필드명 FROM 테이블명 [WHERE 조건 ] ORDER BY 필드명 [ASC 또는 DESC]; [ 사원 ] 테이블에서성명을기준으로오름차순하여직급, 전화번호, 주소검색 SELECT 직급, 전화번호, 주소 FROM 사원 ORDER BY 성명 ; [ 사원 ] 테이블에서직급을기준으로오름차순정렬하고, 직급이동일한경우성명을기준으로하여내림차순하여성명, 직급, 전화번호, 주소검색 SELECT 성명, 직급, 주소 FROM 사원 ORDER BY 직급, 성명 DESC; 2. 식의사용 1) 연산자 데이터베이스에서특정한레코드의데이터값을추출하기위해서는식을사용하여야합니다. 산술연산, 문자열연산, 비교연산, 논리연산, 연산함수등을이용하여질의결과를조작할수있으며, 수치와날짜형태의자료에대해서는사칙연산자를이용하여조작할수도있습니다. (1) 산술 / 대입연산자 연산자 기능 예 ^ 어떤수의제곱수를구한다. 10^2 -> 100 * 두수의곱을구한다 50*3 -> 150 / 두수를나누고부동소수점을구한다. 20/4 -> 5 + 두수의합을구한다. 20+50 -> 70 7/22

- 두수의차를구한다. 50-20 -> 30 & 문자열을결합한다. 활용 & 능력 -> 활용능력 (2) 논리 / 비교연산자 연산자기능예 AND OR NOT LIKE IS =. <, >, >=, <=, <> 다중조건에서모두가참이면결과도참다중조건에서하나의값이참이면결과값도참특정한조건에반대되는값을출력지정한문자열이포함되어있는지판별 Null 이나 NOT Null 인레코드검색두값을비교하여참과거짓중결과를출력 >=90 AND <=100 -> 90 이상 100 이하 과장 OR 대리 -> 과장이나대리 NOT 사원 -> 사원이아닌 LIKE 김 * -> 김으로시작하는값 IS Null -> 필드값이 NULL 인레코드 100 > 90 ->TRUE 100 < 90 ->FALSE 2) 함수 함수는이미정의된식에의한계산, 비교등을수행하고값을반환하는일정의작은프로그램으로폼, 쿼리, 보고서, 유효성검사규칙속성등어느곳에서나확인할수있습니다. (1) 날짜 / 시간처리함수 연산자기능예 NOW() 현재날짜와시간표시 2003-01-01 오전 10:32:08 형식으로현재날짜와시간표시 DATE() 현재날짜표시 2003-01-01 형식으로현재날짜표시 TIME() WEEKDAY() 현재시간표시 날짜의요일을번호로표시 ( 일요일 =1) 오전 10:32:08 형식으로현재시간표시 WEEKDAY(DATE()) -> 오늘날짜의요일을번호로표시 제 1 유형 : 일요일 =1 제 2 유형 : 월요일 =1 8/22

DATEADD( 단위, 숫자, 날짜 ) DATEDIFF( 단위, 시작일, 종료일 ) DATEPART( 단위, 날짜 ) DATEVALUE( 날짜텍스트 ) YEAR( 날짜 )/MONT H( 날짜 )/DAY( 날짜 ) HOUR( 시간 )/MINU TE( 시간 )/SECOND ( 시간 ) 날짜에서숫자를더하거나빼서표시시작일과종료일의차이를지정한단위로표시날짜를지정한단위로표시날짜텍스트를날짜데이터로변환지정한날짜의연 / 월 / 일부분만표시지정한시간의시 / 분 / 초부분만표시 제 3 유형 : 월요일 =0 DATEADD( yyyy,10,date()) -> 오늘날짜에 10 년을더하여표시 DATEDIFF( yyyy,[ 입사일 ],DATE()) -> 입사일필드의값부터오늘까지의연도차이계산 DATEPART( q, [ 입사일 ]) -> 입사일필드의값을분기로표시 DATEVALUE( 2003-01-01 ) -> 텍스트를날짜데이터로바꾸어 2003-01-01 반환 YEAR([ 입사일 ]) -> 입사일필드값에서연도만반환 MINUTE(DATE()) -> 현재시간에서분만반환 (2) 문자열함수 연산자기능예 INSTR STRCOMP SPACE 문자열중특정문자의자릿수표시문자열과문자열을비교하여 1, 0, 1, Null 값을반환지정한수만큼공백추가 INSTR( 컴퓨터활용, 활 ) -> 4 STRCOMP( 10, 9 ) -> 1 STRCOMP( 9, 10 ) -> -1 STRCOMP( 9, 9 ) -> 0 컴퓨터 & SPACE(2) 활용 - > 컴퓨터 활용 STRING 동일한문자를지정된숫자만큼반복 STRING(3, 하 ) -> 하하하 LEFT 문자열의왼쪽에서지정한개수만큼만표시 LEN 문자열의문자개수를표시 MID 문자열의중간에서지정한개수만큼만표시 LENB 문자열의바이트수표시 RIGHT 문자열의오른쪽에서지정한개수만큼만표시 LCASE 문자열을모두소문자로표시 9/22

TRIM 문자열의앞과뒤에있는공백을자른후표시 UCASE 문자열을모두대문자로표시 LTRIM 문자열의왼쪽에있는공백을자른후표시 REPLACE 문자열에포함된특정문자를다른문자로전환 (3) 선택함수 연산자기능예 IIF CHOOSE SWITCH 조건이참이면값 1 을출력하고거짓이면값 2 를출력색인번호에따라값목록에서수행할값또는작업을선택조건과값을 1:1 씩비교하여출력 IIF([ 평균 ]>=70, 합격, 불합격 ) -> 평균필드값이 70 이상이면합격, 미만이면불합격을표시 CHOOSE(2, 사과, 배, 귤 ) -> 배 SWITCH([ 직위 ]= 대리, 100, [ 직위 ]= 사원, 50) -> 직위필드의값이대리이면 100, 사원이면 50 반환 (4) 자료형식변환함수 함수기능함수기능 CSTR 데이터를문자열로변환 CDATE 데이터를날짜데이터로변환 CBOOL 데이터를논리값으로변환 CLNG 데이터를 Long 값으로변환 VAL STR 데이터를숫자로변환 데이터를문자로변환 CINT 데이터를반올림한후정수로변환 (5) 자료형식평가함수 함수 ISDATE ISNULL ISNUMERIC 기능입력한데이터를날짜로변환할수있는지의여부를논리값으로표시입력한데이터가널값인지의여부를논리값으로표시입력한데이터가숫자인지의여부를논리값으로표시 10/22

ISERROR ISOBJECT 입력한데이터가오류인지의여부를논리값으로표시 입력한데이터가개체인지의여부를논리값으로표시 (6) 도메인계산함수 함수기능함수기능 DAVG 조건에만족하는필드의평균출력 DMIN 조건에만족하는필드의최소값출력 DSUM 조건에만족하는필드의합계출력 DMAX 조건에만족하는필드의최대값출력 DCOUNT 조건에만족하는필드의개수출력 DLOOKUP 조건에만족하는필드값출력 (7) SQL 계산함수 함수기능함수기능 AVG 지정된필드의평균출력 MIN 지정된필드의최소값출력 SUM 지정된필드의합출력 MAX 지정된필드의최대값출력 COUNT 지정된필드의개수출력 (8) 숫자계산함수 함수기능함수기능 RND 0 과 1 사이의난수출력 ABS 숫자데이터를절대값으로출력 ROUND 숫자데이터를지정한자릿수로반올림하여출력 INT 실수를가까운정수값으로출력 (9) 입출력함수 함수 INPUTBOX 기능 키보드를이용해데이터를입력할때사용 11/22

MSGBOX 경고나알림메시지가들어있는메시지상자를출력 3) 조건작성 조건은디자인눈금에서해당필드의 [ 조건 ] 셀이나 [ 또는 ] 셀에식을입력합니다. 조건값이텍스트형식이면큰따옴표 ( ), 날짜 / 시간형식이면 # 으로묶어야합니다. (1) IN 연산자 IN 연산자는리스트상의값에포함되었는지를확인하기위하여사용되는연산자로형식은다음과같습니다. SELECT 필드명 FROM 테이블명 WHERE 조건 IN ( 값1, 값2, ); 사원테이블에서직급이과장이거나사원인사람들의사원번호, 성명, 직급을검색 SELECT 사원번호, 성명, 직급 FROM 사원 WHERE 직급 IN (" 사원 ") (2) BETWEEN 연산자 AND 연산자와결합하여레코드가비교하는두값의범위내에해당하는지를확인하기위해사용되는연산자로형식은다음과같습니다. SELECT 필드명 FROM 테이블명 WHERE 조건 BETWEEN 값1 AND 값2; 사원테이블에서기본급이 800000이상 1000000이하인사람들의성명, 직급, 기본급을검색 SELECT 성명, 직급, 기본급 FROM 사원 WHERE 기본급 BETWEEN 800000 AND 1000000; 12/22

(3) NOT 연산자 인수의논리를반대로바꿀때사용되는연산자로다른연산자의앞에위치시켜사용됩니다. 형식은다음과같습니다. SELECT 필드명 FROM 테이블명 WHERE 조건 NOT 다른연산자 ; 사원테이블에서직급이과장이거나사원이아닌사람들의사원번호, 성명, 직급을검색 SELECT 사원번호, 성명, 직급 FROM 사원 WHERE 직급 NOT IN (" 과장 ", " 대리 "); (4) LIKE 연산자 질의문자와심볼을이용해문자패턴에일치하는레코드로검색할때사용되는연산자입니다. 모든문자를대표하는심볼 * 와하나의문자를대표하는심볼? 를이용하여질의문자를입력할수있습니다. (* 와? 대신 %, -를지원하는프로그램도있습니다.) SELECT 필드명 FROM 테이블명 WHERE 조건 LIKE 질의문자 ; 사원테이블에서성명이 김 으로시작하는사람들의모든레코드를검색 SELECT * FROM 사원 WHERE 성명 LIKE " 김 *"; 4) 하위질의 하위질의란다른선택쿼리 (SELECT) 나실행쿼리 (INSERT, UPDATE, DELETE) 안에서 SQL SELECT 문으로이루어진쿼리를말합니다. 하위쿼리의결과집합은기본쿼리에대한조건검색의일부가되며, EXISTS 나 NOTEXISTS 등의예약어를사용하여하위쿼리의결과유무를확인할수있습니다. 13/22

ANY, IN, ALL 등의예약어를사용하면하위쿼리에서반환된값과같은값, 큰값, 작은값을각각기본 쿼리에서찾을수도있습니다. 또한하위쿼리내에또다른하위쿼리를만들수도있습니다. IN 연산자하위쿼리의결과에속하는값을검색, NOT IN을사용하면하위쿼리의결과에속하지않는값표시 사원테이블과고객테이블은연관이있어서성명이같은사람들을나타낸다고할때, 사원테이블에서주소가 종 으로시작하는사람들의성명과부서를검색 SELECT 성명, 부서 FROM 사원 WHERE 성명 IN (SELECT 성명 FROM 고객 WHERE 주소 LIKE " 종 *"); 3. 집단함수및 Group By 절 1) 집단함수의개념및종류 집단함수란그룹마다하나의결과를표시하기위해레코드를대상으로연산을수행하는함수를말하며, 그룹함수라고도합니다. 집단함수는종종레코드를그룹을나눈뒤적용할때가있는데레코드를그룹으로나누기위해서 SELECT 문에서는 GROUP BY 절을이용하며, WHERE 절에서는 HAVING 절을이용합니다. 이때집단함수는각그룹에작용하여그룹당하나의결과를산출합니다. 특정한집단에대해연산을수행할수있는함수는다음과같습니다. 함수명 설명 사용예 SUM 쿼리에서지정필드에있는일련의값의 SELECT SUM( 기본급 ) FROM 사원 ; 합을구함 AVG 쿼리에서지정필드에있는일련의값의 SELECT ABG( 기본급 ) FROM 사원 ; 평균을구함 MAX 값집합에서최대값을구함 SELECT MAX( 기본급 ) FROM 사원 ; MIN 값집합에서최소값을구함 SELECT MIN( 기본급 ) FROM 사원 ; COUNT 인수목록에서숫자를포함한셀과숫자의개수를구함 SELECT COUNT(*) FROM 사원 ; ( 사원테이블에서사원의수를구함 ) 14/22

2) GROUP BY 절을사용한조회 GROUP BY 절을사용하면지정한필드목록에서동일한값을갖는레코드를하나의레코드로결합합니다. 형식은다음과같습니다. SELECT 필드명 [, 그룹조건 ( 반환되는레코드들의그룹을제한할조건 )] FROM 테이블명 GROUP BY 필드명 ( 레코드를그룹핑하는데기본이될필드명 ) 사원테이블에서부서별로그룹화한후부서, 기본급최대값, 기본급최소값을구하기 SELECT 부서, MAX( 기본급 ) AS 기본급최대값, MIN( 기본급 ) AS 기본급최소값 FROM 사원 GROUP BY 부서 ; 3) HAVING 절을사용한조회 HAVING 절을사용하면 GROUP BY 로그룹화한레코드중에서조건에맞는레코드만나타낼수있습니다. 형식은다음과같습니다. SELECT 필드명 [, 그룹조건 ( 반환되는레코드들의그룹을제한할조건 )] FROM 테이블명 GROUP BY 필드명 ( 레코드를그룹핑하는데기본이될필드명 ) HAVING 조건 ; 사원테이블에서부서별로그룹화한후부서가재정부를제외한부서의부서와평균기본급을구하기 SELECT 부서, AVG( 기본급 ) AS 기본급평균 FROM 사원 GROUP BY 부서 HAVING NOT 부서 = " 재정부 "; 15/22

4)HAVING 과 WHERE 절의차이 HAVING 과 WHERE 절의공통점은특정한조건을지정하여레코드를검색할때사용한다는점이고, 차이점은 WHERE 절은일반적인조건을지정할때사용하지만, HAVING 절은데이터를그룹화한후해당그룹별로조건을지정할때사용한다는것입니다. 4. 다중테이블쿼리 1) 조인 (Join) 의개념 쿼리에두개이상의테이블이나쿼리를추가할때에는정보연결방법을알수있도록필드목록이조인선을서로연결되어있어야합니다. 여기서조인이란상호관련성을갖는두개의테이블을연결하여데이터를검색하는것을말합니다. 조인을하게되면각속성이어느테이블의속성인지알수있도록 < 테이블명. 필드명 > 으로입력합니다. 2) 조인형식의종류 (1) INNER JOIN( 내부조인 ) 가장일반적인조인형식으로두테이블의공통된필드의값이일치하는경우두테이블의레코드를결합하여쿼리결과에하나의레코드로추가하며, 조인되지않는레코드는삭제합니다. < 테이블 R> A B 1 2 3 4 < 테이블 S> B C 2 5 2 6 7 8 <R 과 S 의 INNER JOIN 결과 > A B C 1 2 5 1 2 6 --------------- SELECT 필드명 16/22

FROM 테이블명 1 INNER JOIN 테이블명 2 ON 테이블명 1. 필드명 = 테이블명 2. 필드명 --------------- (2) LEFT JOIN( 왼쪽조인 ) 오른쪽테이블의조인된필드에일치하는값이없어도 SQL 문의 LEFT JOIN 작업왼쪽에있는레코드가모두 Recordset 개체에추가되는외부조인입니다. 조인필드에일치하는값이없으면 Null 값의레코드가오른쪽에조인되며, 첫째테이블의레코드가둘째 ( 오른쪽 ) 테이블의레코드와일치하지않더라도첫째 ( 왼쪽 ) 테이블의모든레코드를포함합니다. 화살표방향이왼쪽에서오른쪽으로이동되듯이표현됩니다. <R 과 S 의 LEFT JOIN 결과 > A B C 1 2 5 1 2 6 3 4 NULL --------- SELECT 필드명 FROM 테이블명 1 LEFT JOIN 테이블명 2 ON 테이블명 1. 필드명 = 테이블명 2. 필드명 ---- (3) RIGHT JOIN( 오른쪽조인 ) 왼쪽테이블의조인된필드에일치하는값이없어도 SQL 문의 RIGHT JOIN 작업의오른쪽에있는레코드를모두 Recordset 개체에추가하는외부조인입니다. 왼쪽테이블의레코드는조인필드에일치하는값이있을때만오른쪽테이블의레코드와연결되며, 첫째 ( 왼쪽 ) 테이블의레코드와일치하지않더라도둘째 ( 오른쪽 ) 테이블의모든레코드를포함합니다. 화살표방향이오른쪽에서왼쪽으로이동되듯이표현됩니다. <R 과 S 의 RIGHT JOIN 결과 > A B C 1 2 5 1 2 6 NULL 7 8 ---------- SELECT 필드명 FROM 테이블명 1 RIGHT JOIN 테이블명 2 17/22

ON 테이블명 1. 필드명 = 테이블명 2. 필드명 ------ (4) 카티전 (Cartesian product) 곱카티젼곱을수행하면 2 개이상의테이블에서조합가능한모든행들이표시되는결합연산을하게됩니다. 첫번째테이블의모든행은두번째테이블의모든행과조인되며, 2 개이상의테이블에서조인한행들을표시하여새로운테이블이생성됩니다. (5) 별명 (Alias) 별명이란말그대로테이블이나쿼리에별명을붙여주는것이라고할수있습니다. 쿼리에서같은테이블이나쿼리를여러번사용하는경우, Alias 속성을사용하여원본테이블이나쿼리의이름을사용자가정의하는것입니다. Alias 속성은쿼리데이터의원본으로사용되는테이블이나쿼리에만적용되며, 문자열식을사용하여데이터베이스에서현재사용하지않는이름에 Alias 속성을지정합니다. 또한 SQL 문에서 AS 절을사용하는것도별명을사용하는것이라고할수있으며, SELF JOIN 즉, 자기자신과조인할때에는반드시별명을사용해야합니다. 쿼리에테이블이나쿼리를추가하면자동으로테이블이나쿼리이름에 Alias 속성이설정되며, 같은테이블이나쿼리에두번째인스턴스가추가되어도자동으로 Alias 속성이개체이름뒤에밑줄과 1( _1 ) 이추가된값으로설정됩니다. 5. 실행질의 1) 실행질의 (1) 테이블작성쿼리 개요다른테이블의데이터일부또는전체를가져와서새테이블로작성하는쿼리입니다. 이렇게테이블작성쿼리로만들어진테이블의데이터는원본테이블의필드속성이나기본키설정은계승되지않습니다. SQL문 ----------------- SELECT 필드명 INTO 새테이블이름 FROM 기존테이블명 WHERE 조건식 ; 18/22

----------------- 사원 테이블에서부서코드가 A011 인레코드의부서코드, 이름, 성별, 이메일을검색하여 부서별교육생 테이블생성하기 SELECT 부서코드, 이름, 성별, 이메일INTO 과정별교육생 FROM 사원 WHERE 부서코드 = A011 ; (2) 추가쿼리 개요테이블에새로운레코드를추가합니다. 값을직접추거하거나다른테이블의레코드를추출하여추가할수있습니다. SQL문 1 INSERT문테이블에데이터 ( 값 ) 을직접추가하는구문으로테이블에하나의레코드로추가됩니다. 필드명의개수와데이터의개수는동일해야합니다. ----------------- INSERT INTO 테이블명 ( 필드명1, 필드명2, 필드명3, ) VALUES( 데이터1, 데이터2, 데이터3, ) ----------------- 사원테이블에사원번호 11, 성명이길재, 부서재정부, 직급대리, 기본급 890000추가 INSERT INTO 사원 ( 사원번호, 성명, 부서, 직급, 기본급 ) VALUES(11, ' 이길재 ', ' 재정부 ', ' 대리 ', 890000); 2 INSERT ~ SELECT 쿼리의실행결과를다른테이블에추가하거나입력하는자료의양이많은경우 INSERT~SELECT 구문을사용합니다. 이때필드명을지정하지않으면테이블의모든필드가명시된것으로간주합니다. ----------------- INSERT INTO 테이블명 ( 필드명1, 필드명2, 필드명3, ) SELECT 필드명1, 필드명2, 필드명3, VALUES( 데이터1, 데이터2, 데이터3, ) ----------------- 부서가재정부인사람의성명, 부서를검색한후사원테이블에추가 INSERT INTO 사원 ( 성명, 부서 ) SELECT 사원. 성명, 사원. 부서 19/22

FROM 사원 WHERE ((( 사원. 부서 )= 재정부 )); (3) 업데이트쿼리 개요 UPDATE 문은하나이상의테이블에서레코드그룹을전체적으로변경할때사용됩니다. 특정조건을지정하여조건에해당되는레코드나필드만을선택적으로변경할수도있습니다. SQL 문 ---------- UPDATE 테이블명 SET 필드명1= 식1, 필드명2= 식2, WHERE 조건식 ; ---------- 직급이대리인사람들의기본급을 5% 인상하도록데이터수정 UPDATE 사원 SET 사원. 기본급 =[ 기본급 ]*1.5 WHERE ((( 사원. 직급 )= 대리 )); (4) 삭제쿼리 개요조건을지정하여한번에테이블에있는레코드를삭제하는쿼리입니다. WHERE 절을이용하여조건을지정하지않으면테이블내의모든레코드가삭제됩니다. SQL문 DELETE 필드명 FROM 테이블명 WHERE 조건식 ; 부서가재정부인사람을삭제 DELETE 사원. 부서 FROM 사원 WHERE ((( 사원. 부서 )= 재정부 )); 20/22

2) 데이터베이스기타질의 (1) 크로스탭쿼리크로스탭쿼리란테이블특정필드의요약값 ( 합계, 개수, 평균등 ) 을표시하고그값들을그룹별로데이터시트의왼쪽행과데이터시트의위쪽열에나열해주는쿼리입니다. 결과에대한열이름을나타내는필드, 결과에대한행이름을나타내는필드, 쿼리의본문에삽입되어값을나타내는필드로구성되어있습니다. (2) 매개변수의사용매개변수쿼리란쿼리를실행할때레코드검색조건이나필드에삽입할값과같은정보를입력할수있는대화상자를표시하여실행하는쿼리입니다. 두가지이상의정보를물어보는쿼리를디자인할수도있으며, 폼, 보고서, 데이터액세스페이지의기초로사용하기에도편리합니다. (3) 통합쿼리 (Union 질의 ) 통합쿼리란두개이상의테이블이나쿼리에서대응되는필드들을결합하여하나의필드로만드는것으로, 한테이블을다른테이블에추가하는것과결과가같습니다. 형식은다음과같습니다. SELECT 필드명 1 FROM 테이블명1 UNION SELECT 필드명 2 FROM 테이블명 2; 21/22

>> 여기서잠깐 창 (1) 창 (2) 22/22