SQL Study.

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
DB 프로그래밍 학기.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
8장 서브 쿼리.
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
기본적인 SELECT문 작성.
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리.
3장. 데이터베이스 구축의 전체 과정 미리 실습하기
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
6장 그룹 함수.
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
09 서브쿼리(Subquery) 서브쿼리의 개념 서브쿼리의 종류 데이터베이스 실무에서 서브쿼리 사용시 주의 사항.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
Heesang kim PL/SQL 3 Heesang kim.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
Chapter 07. 기본 함수 익히기.
5장 Mysql 데이터베이스 한빛미디어(주).
KIM HEESANG PL/SQL 2 KIM HEESANG
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
You YoungSEok Oracle 설치 You YoungSEok
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
Sql & DB
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
CHAP 13. 방명록 만들기 실습.
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
JDBC Lecture 004 By MINIO.
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
Visual Basic .NET MDI 만들기.
3장. SQL Server 2008 전체 운영 실습 및 DB와 프로그램의 연동
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
8장. spss statistics 20의 데이터 변환
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
기말 프로젝트 계획 MVC 패턴 기반 웹 애플리케이션 개발 프로젝트명 : 팀명 : 팀원 :
CHAP 21. 전화, SMS, 주소록.
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
문성우 SQL 실습 Part Ⅰ 문성우.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
Excel 일차 강사 : 박영민.
10 데이터 조작어 데이터 조작어 데이터 입력 데이터 수정 데이터 삭제 MERGE 트랜잭션 관리 시퀀스.
10 데이터 조작어 데이터 조작어 데이터 입력 데이터 수정 데이터 삭제 MERGE 트랜잭션 관리 시퀀스.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
14 뷰(View) 뷰의 개념 뷰 관리.
Chapter 10 데이터 검색1.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
7장 테이블 조인하기.
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
7 생성자 함수.
6 객체.
Chapter 11. 문서 인쇄 및 파일 형식.
Presentation transcript:

SQL Study

Cross Join (교차 조인) SELECT * FROM tbl_namelist CROSS JOIN tbl_grades; 조인되는 테이블들 사이의 모든 레코드의 모든 조합을 결과로 보여준다.

Inner Join (내부 조인) SELECT tbl_namelist.no, name, history, science FROM tbl_namelist INNER JOIN tbl_grades ON tbl_namelist.no = tbl_grades.no; ㄹㅇㅎㄴ 서로 다른 테이블의 레코드의 값과 비교하여 조건에 맞는 레코드만 보여준다. (학생 테이블에 서해근 학생이 있더라도 서해근 학생의 번호와 맞는 번호가 성적 테이블에 존재하지 않기 때문에 출력되지 않았다)

Left Outer Join SELECT tbl_namelist.no, name, history, science FROM tbl_namelist LEFT OUTER JOIN tbl_grades ON tbl_namelist.no = tbl_grades.no; 서로 다른 테이블의 레코드의 값과 비교하여 조건에 맞는 레코드를 출력하고 맞는 레코드가 없더라도 JOIN문 왼쪽에 있는 레코드는 모두 출력한다.

Right Outer Join SELECT tbl_namelist.no, name, history, science FROM tbl_namelist RIGHT OUTER JOIN tbl_grades ON tbl_namelist.no = tbl_grades.no; 서로 다른 테이블의 레코드의 값과 비교하여 조건에 맞는 레코드를 출력하고 맞는 레코드가 없더라도 JOIN문 오른쪽에 있는 레코드는 모두 출력한다.

Full outer join SELECT tbl_namelist.no, name, history, science FROM tbl_namelist FULL OUTER JOIN tbl_grades ON tbl_namelist.no = tbl_grades.no; 서로 다른 테이블의 레코드의 값과 비교하여 조건에 맞는 레코드를 출력하고 맞는 레코드가 없더라도 JOIN문 양쪽에 있는 레코드는 모두 출력한다.

Union All SELECT * FROM tbl_club1 UNION ALL tbl_club2 order by no asc; 중복되는 데이터를 가리지 않고 두 테이블의 모든 값을 조회할때 사용한다. 단, 컬럼명은 순서대로 대응된다.

Union SELECT * FROM tbl_club1 UNION tbl_club2 order by no asc; 중복되는 데이터는 한번만 출력하고 두 테이블의 모든 값을 조회할때 사용한다. 단, 컬럼명은 순서대로 대응된다. ( 합집합 )

Intersect SELECT * FROM tbl_club1 INTERSECT tbl_club2 order by no asc; 두테이블을 비교하여 같은 값이 있는 레코드만 조회할때 사용한다. 단, 컬럼명은 순서대로 대응된다. ( 교집합 )

Except SELECT * FROM tbl_club1 EXCEPT tbl_club2 order by no asc; 두테이블을 비교하여 같은 값이 있는 레코드를 제외하고 조회할때 사용한다. 단, 컬럼명은 순서대로 대응된다. ( 차집합 )

Sub Query SELECT * FROM tbl_novel WHERE price > (select avg(price) from tbl_novel) 평균가격보다 비싼 레코드를 조회하기 위해 서브쿼리를 이용한다. 서브쿼리 → 평균가격을 구한다. 메인쿼리 → 평균가격보다 비싼 레코드를 조회한다.

Sub Query SELECT MAX(Point_avg) as Max_avg from (select AVG(point1+point2)as Point_avg tbl_results group by team) as p_avg Point1 과 Point2 의 점수를 평균값을 구해서 평균점수가 가장 높은 점수를 조회한다. 서브쿼리 → 두 점수를 더하여 평균을 구해서 데이터가 같은 경우 레코드를 그룹 짓는다. 메인쿼리 → 서브쿼리에서 구하여진 평균값 중에 가장 높은값을 조회한다.

Sub Query SELECT team, MIN(point2) as lowest FROM tbl_results group by team having MIN(point2) < (select AVG(point2) from tbl_results); Point2값의 평균값 보다 작은 점수를 가진 레코드를 팀별로 조회한다. 서브쿼리 → point2의 평균값을 구한다. 메인쿼리 → 팀별로 그룹지어 서브테이블과 Having의 조건을 비교하여 조회한다.

Group By , Distinct SELECT Point1 FROM tbl_results group by point1 distinct point1 from tbl_results 컬럼의 값을 출력하되 중복되는 데이터는 한번만 표시를 한다. GROUP BY ( 열의 데이터가 같은 경우 그 행을 묶어서 하나로 표시) DISTINCT ( 열의 데이터가 같은 경우 데이터를 제거하여 표시)

Order By SELECT * FROM tbl_novel order by price asc; order by price desc; 선택된 행을 기준으로 오름차순과 내림차순으로 표시.

함수

LTRIM,RTRIM SELECT pname, '***' + LTRIM(pname) + '***' as Ltrim_Test, '***' + RTRIM(pname) + '***' as Rtrim_Test FROM tbl_pet;; 문자열의 맨 앞(LTRIM)이나 맨 뒤(RTRIM)의 공백을 제거해준다.

COUNT SELECT COUNT(DISTINCT Post_code) AS POST_COUNT FROM New_Address_DB.dbo.New_Address 해당 컬럼의 data 개수를 출력 해준다. 해당 테이블에는 전국 우편번호 레코드가 존재한다. 우편번호의 개수를 출력하되 DISTINCT 를 사용하여 중복되지 않은 개수를 구한다.

CEILING,FLOOR SELECT cost, CEILING(cost) as CEILING_RESULT, FLOOR(cost) AS FLOOR_RESULT FROM tbl_sum 해당 컬럼의 값보다 큰 수 중에 가장 작은 정수를 구한다.(CEILING) 해당 컬럼의 값보다 작은 수 중에 가장 큰 정수를 구한다.(FLOOR)

DAY SELECT date1, DAY(date1) as [DAY] FROM tbl_datelist; 해당 DATETIME 자료형의 레코드 값의 년/월/일 등 필요한 내용만 출력한다.

CAST SELECT [time] AS 문자열, CAST([time] as DATETIME) AS 날짜 FROM tbl_schedule; 데이터 형을 변환 시켜주는 함수이다. 예제에서는 문자열의 값을 DATETIME 값으로 변환하였다.

DATEADD, DATEDIFF SELECT date1, date2, DATEADD(m, 6, date1) as Add_M, DATEDIFF(D, date1,date2) as Diff_D1, DATEDIFF(D, GETDATE(),date2) as Diff_D2 FROM tbl_datelist; DATETIME 타입의 날짜를 합(DATEADD)이나 차(DATEDIFF)로 조작할 수 있다. 예제에서는 DATEADD함수를 이용하여 해당 DATE에 6개월을 더하였다. Date1과 Date2의 날짜의 차를 구하였다. 현재 날짜에서 date2의 날짜의 차를 구하였다.

UPPER, LOWER SELECT sname, UPPER(sname) as 대문자, LOWER(sname) as 소문자 FROM tbl_stdname 해당 컬럼의 데이터를 대문자(UPPER),소문자(LOWER)로 변환하여준다.

LEN SELECT sname, LEN(sname) as rength from tbl_stdname 해당 컬럼의 데이터의 길이를 구하여준다.

RAND SELECT RAND() AS RAND_RESULT1, RAND() AS RAND_RESULT2, 난수를 구하여 주는 함수다. () 안에는 초기화에 사용되는 SEED값을 지정할 수 있다.

SUBSTRING SELECT top 10 Post_code FROM New_Address_DB.dbo.New_Address WHERE SUBSTRING(Post_code,1,3) = '641' 문자열의 필요한 부분의 길이를 지정하여 그 부분만 얻어 낸다. 예제에서는 우편번호의 앞자리만 가져와서 ‘641’인 우편번호를 비교하여 10개의 데이터를 출력하였다.

MAX,MIN,AVG,SUM SELECT MAX(price) as Max_price, AVG(price) as Avg_price, MIN(price) as Min_price, SUM(price) as Sum_price FROM tbl_novel 해당된 레코드의 가장 큰 값(MAX), 가장 작은 값(MIN), 평균값(AVG), 합계(SUM)를 구하여 준다.

CONVERT SELECT CONVERT( varchar(20), getdate(), <①> ) 이해 =>

CONVERT CAST 함수와 비슷하며, CONVERT(변환될 자료형, 자료, 스타일) 형식으로 사용한다.

Transaction

Transaction TRANSACTION의 선언을 통하여 관련되어 있는 조작을 하나의 덩어리로 만들어준다. 원하는 조작이 맞다면 COMMIT 아니라면 ROLLBACK 으로 TRANSACTION을 종료 하여준다. 예를 들어 은행 계좌 송금 모듈 같은 경우. 갑자기 컴퓨터의 전원이 꺼지더라도 조작을 하나의 덩어리로 조작한다면 금융사고를 방지할 수 있다. begin transaction delete from tbl_club1 ROLLBACK (되돌리기) COMMIT (확정)

프로파일러 사용법(기초)

프로파일러 시작 시작 – SQL SERVER 2008 – 성능도구 – SQL SERVER 프로파일러 선택 SQL SERVER MANAGEMENT STUDIO 상단 도구 탭

프로파일러 시작 SQL Server 로그인 후 새 추적 클릭. 일반 탭은 디폴트값으로 사용하고 이벤트 선택 탭을 클릭.

프로파일러 저장프로시저를 클릭하고 열 필터를 클릭한다.

프로파일러 필터 편집 옵션을 통해 필요한 요소만 프로파일러를 통해 볼 수 있다.

프로파일러 - 모든 설정을 마치면 추적된 내용을 보여준다. 추적내용을 통해서 개발자는 코딩 하였던 내용들이 매개변수로 잘 넘어 오는지 확인 가능하다.

DB 백업 및 복원 방법

DB 백업 및 복원 방법 DB 오른쪽 버튼 클릭 → 테스크 → 백업

DB 백업 및 복원 방법 1. 백업할 데이터베이스 원본이 정확하게 설정 되어 있는지 확인 한다. 2. 추가버튼을 클릭하여 백업 파일이 저장될 대상을 설정한다.

DB 백업 및 복원 방법 데이터베이스 백업이 완료되었다.

DB 백업 및 복원 방법 데이터베이스 오른쪽 버튼 클릭 → 데이터베이스 복원 클릭

DB 백업 및 복원 방법 복원작업을 수행할 데이터베이스이름을 입력하거나 선택한다. 백업파일의 경로를 설정한다. 복원하고자 하는 데이터베이스를 선택한다.

DB 백업 및 복원 방법 기존 데이터 베이스에 덮어 쓰기 옵션을 체크한다. 복원을 실행한다.

DB 백업 및 복원 방법 그림과 같이 Test_DB를 백업 받아서 Test_DB2 라는 데이터베이스로 복구 하였다. 이름만 다를 뿐 구조는 동일하다.

트리거란 특정 테이블의 데이터의 변경이 일어날 때 자동적 으로 일어나는 저장프로 시저와 비슷한 개념. 특정 테이블의 데이터의 변경이 일어날 때 자동적 으로 일어나는 저장프로 시저와 비슷한 개념. INSERT, UPDATE, DELETE문에 의해 변경 되어질 때 선언 하였던 내용들이 자동으로 수행된다. 트리거를 알기 위해서는 INSERTED, DELETED 테이 블을 알아야 한다. 위의 테이블은 물리적인 공간이 아니라 트리거를 사용하기 위한 가상의 테이블이다.

트리거생성순서 트리거의 이름 어느 테이블에 대한 것인지 테이블 이름 지정 INSERT, DELETE,UPDATE중 어느 경우인지 지정 실제 수행될 쿼리문

트리거 Tbl_club1 테이블과 Trigger를 학습하기 위해 동일한 구조의

트리거 TRIGGER 생성 후 해당되는 삭제 작업을 하면 저런 메시지가 띄워진다.(삭제하는 부분, 삽입하는 부분) 트리거를 생성할때 작성한 INSERT 문이 실행되어서 가상의 DELETED테이블에 있던 내용들이 추가된다.