분류 전체보기(1092)
-
DB/MSSQL
2018.02.19
5
[MSSQL] 프로시저 생성,조회,수정,삭제
프로시저란? 데이터베이스에서의 프로시저란 프로그래머가 생성해놓은 쿼리문을 마치 하나의 메서드 형식으로 관리하는 것입니다. 실무에서는 굉장히 복잡한 쿼리문을 많이 사용해요. 많은 컬럼을 조회하고 여러 테이블을 조인하고 거기다가 WHERE조건까지... 심한 것은 하나의 쿼리를 만드는데 1000라인이 넘어가는 경우도 종종 있어요. 이렇게 장문의 쿼리를 사용할 때마다 써줘야 한다면 굉장히 불편할 거예요. 그러므로 이 장문의 쿼리를 프로시저에 저장해주고, 쿼리문이 저장된 프로시저를 호출하여 프로그래밍을 하는 것이 훨씬 효율적입니다. 프로시저 사용법 프로시저 생성 문법 CREATE PROC [프로시저명] AS [쿼리문] 프로시저 생성 예제 CREATE PROCEDURE UP_EXPRO ( @P_COMPANY NVA..
-
DB/MSSQL
2018.02.19
2
[MSSQL] 서브쿼리(SubQuery) 사용법 & 예제
서브 쿼리란? 하나의 쿼리문 안에 포함되어 있는 또 하나의 쿼리문을 말합니다. 서브 쿼리는 메인 쿼리가 서브 쿼리를 포함하는 종속적인 관계입니다. 여러 번의 쿼리를 수행해야만 얻을 수 있는 결과를 하나의 중첩된 SQL 문장으로 간편하게 결과를 얻을 수 있게 해 줍니다. 쉽게 말해서 쿼리 문안에 쿼리문을 또 쓴다고 생각하면 됩니다. ※ Sub Query를 Inner Query라고도 합니다. 주의사항 ☞ 서브 쿼리를 괄호로 묶어서 사용해야 한다. ☞ 서브 쿼리 안에서 Order By 절은 사용할 수 없다. ☞ 연산자 오른쪽에 사용하여야 한다. 서브 쿼리의 반환값에 따른 서브쿼리 ☞ 단일 행 서브쿼리 : 서브쿼리의 결과가 1행 ☞ 다중 행 서브쿼리 : 서브쿼리의 결과가 여러 행 ☞ 다중 칼럼 서브 쿼리 : 서..
-
DB/MSSQL
2018.02.13
2
[MSSQL] Union,UnionAll 사용법 & 예제
Union이란? Union은 여러 개의 SQL문을 합쳐 하나의 SQL문으로 만들어주는 방법입니다. 두 개의 쿼리의 합집합을 만들어준다고 생각하면 될듯합니다. Union과 UnionAll의 차이점 Union과 UnionAll은 두 쿼리문을 하나로 합쳐준다는 것에 공통점이 있습니다. 하지만 Union은 두 쿼리의 결과의 중복값을 제거해서 보여주고, UnionAll은중복된 값도 전부 다 보여준다는 차이점이 있습니다. 속도는 당연히 중복 값 제거를 위해 연산을 한번 더 해야 하기 때문에 UnionAll이 Union보다 더 빠르겠죠? Union 사용 시 주의점 ☞ 칼럼명이 같아야 한다. (같지 않을 경우 AS를 사용하여 같게 만들어주면 됩니다.) ☞ 칼럼 별 데이터 타입이 같아야 합니다. UNION / UNION..
-
DB/MSSQL
2018.02.12
6
[MSSQL] JOIN의 종류설명 및 사용법 & 예제
조인이란? 두개이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법입니다. 자신이 검색하고 싶은 컬럼이 다른 테이블에 있을 경우 주로 사용하며 여러 개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법입니다. 보통 Primary key혹은 Foreign key로 두 테이블을 연결합니다. 테이블을 연결하려면 적어도 하나의 칼럼은 서로 공유되고 있어야 합니다. 고등학교 수학 시간 때 배웠던 벤다이어그램을 활용하면 쉽게 이해할 수 있습니다. INNER JOIN 쉽게말해 교집합이라고 생각하시면 됩니다. 기준 테이블과 Join 한 테이블의 중복된 값을 보여줍니다. 결과값은 A의 테이블과 B테이블이 모두 가지고 있는 데이터만 검색됩니다. --문법-- SELECT 테이블별칭.조회할칼럼, 테이블별칭.조회..
-
DB/MSSQL
2018.02.08
[MSSQL] GROUP BY, HAVING, DISTINCT절 사용하기
GROUP BY절이란? 테이블 SELECT시 조회 결과를 그룹으로 묶어서 그 결과를 가져오는 역할을 한다. DISTINCT절이란? DISTINCT는 GROUP BY절과 마찬가지로 조회결과를 그룹으로 묶어서 그 결과를 가져온다. 주로 UNIQUE한 컬럼을 조회할 경우 사용되는 구절이다. GROUP BY절과 DISTINCT의 차이점 두 구절은 똑같이 그룹을 지어준다는것에 대해 공통점이 있다. 하지만 두 구절의 차이는 GROUP BY는 결과물을 정렬해서 표현하고 DISTINCT는 결과물을 정렬하지 않는다. 즉 정렬이 필요하다면 GROUP BY절을 사용하면 되고 그것이 아니라면 DISTINCT절을 사용하면 된다. 정렬이 필요하지않다면 DISTINCT절을 사용하는것이 속도면에서 GROUP BY절보다 빠르다. 문법..
-
DB/MSSQL
2018.02.07
[MSSQL] 집계함수(COUNT,AVG,MAX,MIN,SUM) 사용법 & 예제
집계 함수 집계 함수는 계산을 수행하고 단일 값을 반환합니다. Count() 함수를 제외한 집계 함수는 Null 값을 무시하며 SELECT문 혹은 HAVING 절에만 사용할 수 있습니다. 집계 함수 종류 COUNT() : 수량 계산 --테이블(MY_TABLE)에 남아있는 칼럼수 조회-- SELECT COUNT(*) AS 칼럼수 FROM MY_TABLE --테이블(MY_TABLE) 이름(MY_NAME)값이 있는 ROW 수 조회-- SELECT COUNT(MY_NAME) AS ROW수 FROM MY_TABLE AVG(): 평균 --테이블 (MY_TABLE)의 평균나이(AGE) 조회-- SELECT AVG(AGE) AS 평균나이 FROM MY_TABLE --테이블(MY_TABLE)의 수량(QT)의 전체 평균(..
-
DB/MSSQL
2018.02.06
[MSSQL] 별칭(ALIAS) 사용법 & 예제
ALIAS란? ALIAS 는 값에 별칭을 주어 접근을 별칭 형태로 할 수 있도록 하는 역할을합니다. 데이터,칼럼,테이블,서브쿼리,WHERE절 등에 사용할 수 있습니다. 대표적으로 알아보기 힘든 칼럼에 AS(별칭)을 많이 사용합니다. 예약어는 AS입니다. ALIAS(문법) ColumnName AS 컬럼명칭 --컬럼에 별칭 부여하기 TableName AS 테이블명칭 --테이블에 별칭 부여하기 ALIAS(예제) 1. 칼럼명에 별칭(AS)짓기 SELECT NO_NUM AS 사원번호,NO_NAME AS 사원명,AGE AS 나이 FROM EX_TABLE 2. 칼럼 NUM1+NUM2의 값을 TOTAL이라는 별칭(AS)짓기 SELECT NUM1 + NUM2 AS TOTAL FROM EX_TABLE 3.EX_TABLE이..
-
DB/MSSQL
2018.01.29
[MSSQL] Delete문 사용법 & 예제(트랜잭션)
데이터베이스 MS_SQL Delete문 사용법 및 예제입니다. Delete문은 굉장히 위험한 명령어이므로 이왕이면 트랜잭션 안에서 실행해주는것이 좋습니다. 트랜잭션이란? 하나의 처리를 여러 단계로 다루는 기능을 트랜잭션(Transaction)이라고 합니다. 하나의 처리를 Commit이라는 명령어를 수행하기전 마지막으로 한번 더 확인할 수 있는 기회를 줌으로써 좀 더 안정적인 데이터베이스 작업을 가능하게 합니다. 트랜잭션의 실행결과를 데이터베이스에 반영하는 것을(Commit)이라고 하고 반영하기 전으로 되돌리는 것을 롤백(RollBack)이라고 합니다. BEGIN TRAN--트랜잭션 시작 ROLLBACK TRAN --트랜잭션 이전상태로 ROLL BACK COMMIT TRAN --트랜잭션 완료 Delete ..
-
DB/MSSQL
2018.01.29
[MSSQL] Update문 사용법 & 예제(트랜잭션)
데이터베이스 MS_SQL Update문 사용법 및 예제입니다. Update문은 굉장히 위험한 명령어이므로 꼭 트랜잭션 안에서만 사용해주셔야 합니다. 특히 Update문구에 실수로 Where 절을 쓰지 않고 실행을 하게 되면 테이블에 있는 칼럼 모두가 바뀌게 되는데 이런 큰 실수를 하게 되면 되돌릴 수도 없고 바로 사직서를 써야 하는 상황이 연출됩니다...... ㅠㅠㅠ 그러므로 먼저 Update에 하기 앞서서 Select문으로 자신이 바꿔야 할 데이터를 조회한 뒤 꼭 트랜잭션 안에서 Update문을 실행해주도록 합시다. 트랜잭션이란? 하나의 처리를 여러 단계로 다루는 기능을 트랜잭션(Transaction)이라고 합니다. 하나의 처리를 Commit이라는 명령어를 수행하기전 마지막으로 한번 더 확인할 수 있는..
-
DB/MSSQL
2018.01.29
[MSSQL] Select문 사용법 & 예제
SELECT는 테이블에 있는 데이터를 조회하는 명령어입니다. Select(검색) --My_Table로 부터 모든 칼럼 조회 SELECT * FROM My_Table --My_Table의 No_Emp,Nm_Kor,Age 칼럼 조회 SELECT No_Emp,Nm_Kor,Age FROM My_Table Where(조건문) --이름이 '홍길동'인사람 검색 SELECT * FROM My_Table WHERE Nm_Kor ='홍길동' --나이가 25살인 사원의 한국이름과 나이 조회 SELECT Nm_Kor,Age FROM My_Table WHERE Age=25 --나이가 25살이 아닌 사원 조회 SELECT * FROM My_Table WHERE Age25 --사원번호가 '0315' 이고 나이가 25살보다 작거나 ..
-
DB/MSSQL 2018.02.19 5[MSSQL] 프로시저 생성,조회,수정,삭제 프로시저란? 데이터베이스에서의 프로시저란 프로그래머가 생성해놓은 쿼리문을 마치 하나의 메서드 형식으로 관리하는 것입니다. 실무에서는 굉장히 복잡한 쿼리문을 많이 사용해요. 많은 컬럼을 조회하고 여러 테이블을 조인하고 거기다가 WHERE조건까지... 심한 것은 하나의 쿼리를 만드는데 1000라인이 넘어가는 경우도 종종 있어요. 이렇게 장문의 쿼리를 사용할 때마다 써줘야 한다면 굉장히 불편할 거예요. 그러므로 이 장문의 쿼리를 프로시저에 저장해주고, 쿼리문이 저장된 프로시저를 호출하여 프로그래밍을 하는 것이 훨씬 효율적입니다. 프로시저 사용법 프로시저 생성 문법 CREATE PROC [프로시저명] AS [쿼리문] 프로시저 생성 예제 CREATE PROCEDURE UP_EXPRO ( @P_COMPANY NVA..
-
DB/MSSQL 2018.02.19 2[MSSQL] 서브쿼리(SubQuery) 사용법 & 예제 서브 쿼리란? 하나의 쿼리문 안에 포함되어 있는 또 하나의 쿼리문을 말합니다. 서브 쿼리는 메인 쿼리가 서브 쿼리를 포함하는 종속적인 관계입니다. 여러 번의 쿼리를 수행해야만 얻을 수 있는 결과를 하나의 중첩된 SQL 문장으로 간편하게 결과를 얻을 수 있게 해 줍니다. 쉽게 말해서 쿼리 문안에 쿼리문을 또 쓴다고 생각하면 됩니다. ※ Sub Query를 Inner Query라고도 합니다. 주의사항 ☞ 서브 쿼리를 괄호로 묶어서 사용해야 한다. ☞ 서브 쿼리 안에서 Order By 절은 사용할 수 없다. ☞ 연산자 오른쪽에 사용하여야 한다. 서브 쿼리의 반환값에 따른 서브쿼리 ☞ 단일 행 서브쿼리 : 서브쿼리의 결과가 1행 ☞ 다중 행 서브쿼리 : 서브쿼리의 결과가 여러 행 ☞ 다중 칼럼 서브 쿼리 : 서..
-
DB/MSSQL 2018.02.13 2[MSSQL] Union,UnionAll 사용법 & 예제 Union이란? Union은 여러 개의 SQL문을 합쳐 하나의 SQL문으로 만들어주는 방법입니다. 두 개의 쿼리의 합집합을 만들어준다고 생각하면 될듯합니다. Union과 UnionAll의 차이점 Union과 UnionAll은 두 쿼리문을 하나로 합쳐준다는 것에 공통점이 있습니다. 하지만 Union은 두 쿼리의 결과의 중복값을 제거해서 보여주고, UnionAll은중복된 값도 전부 다 보여준다는 차이점이 있습니다. 속도는 당연히 중복 값 제거를 위해 연산을 한번 더 해야 하기 때문에 UnionAll이 Union보다 더 빠르겠죠? Union 사용 시 주의점 ☞ 칼럼명이 같아야 한다. (같지 않을 경우 AS를 사용하여 같게 만들어주면 됩니다.) ☞ 칼럼 별 데이터 타입이 같아야 합니다. UNION / UNION..
-
DB/MSSQL 2018.02.12 6[MSSQL] JOIN의 종류설명 및 사용법 & 예제 조인이란? 두개이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법입니다. 자신이 검색하고 싶은 컬럼이 다른 테이블에 있을 경우 주로 사용하며 여러 개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법입니다. 보통 Primary key혹은 Foreign key로 두 테이블을 연결합니다. 테이블을 연결하려면 적어도 하나의 칼럼은 서로 공유되고 있어야 합니다. 고등학교 수학 시간 때 배웠던 벤다이어그램을 활용하면 쉽게 이해할 수 있습니다. INNER JOIN 쉽게말해 교집합이라고 생각하시면 됩니다. 기준 테이블과 Join 한 테이블의 중복된 값을 보여줍니다. 결과값은 A의 테이블과 B테이블이 모두 가지고 있는 데이터만 검색됩니다. --문법-- SELECT 테이블별칭.조회할칼럼, 테이블별칭.조회..
-
DB/MSSQL 2018.02.08[MSSQL] GROUP BY, HAVING, DISTINCT절 사용하기 GROUP BY절이란? 테이블 SELECT시 조회 결과를 그룹으로 묶어서 그 결과를 가져오는 역할을 한다. DISTINCT절이란? DISTINCT는 GROUP BY절과 마찬가지로 조회결과를 그룹으로 묶어서 그 결과를 가져온다. 주로 UNIQUE한 컬럼을 조회할 경우 사용되는 구절이다. GROUP BY절과 DISTINCT의 차이점 두 구절은 똑같이 그룹을 지어준다는것에 대해 공통점이 있다. 하지만 두 구절의 차이는 GROUP BY는 결과물을 정렬해서 표현하고 DISTINCT는 결과물을 정렬하지 않는다. 즉 정렬이 필요하다면 GROUP BY절을 사용하면 되고 그것이 아니라면 DISTINCT절을 사용하면 된다. 정렬이 필요하지않다면 DISTINCT절을 사용하는것이 속도면에서 GROUP BY절보다 빠르다. 문법..
-
DB/MSSQL 2018.02.07[MSSQL] 집계함수(COUNT,AVG,MAX,MIN,SUM) 사용법 & 예제 집계 함수 집계 함수는 계산을 수행하고 단일 값을 반환합니다. Count() 함수를 제외한 집계 함수는 Null 값을 무시하며 SELECT문 혹은 HAVING 절에만 사용할 수 있습니다. 집계 함수 종류 COUNT() : 수량 계산 --테이블(MY_TABLE)에 남아있는 칼럼수 조회-- SELECT COUNT(*) AS 칼럼수 FROM MY_TABLE --테이블(MY_TABLE) 이름(MY_NAME)값이 있는 ROW 수 조회-- SELECT COUNT(MY_NAME) AS ROW수 FROM MY_TABLE AVG(): 평균 --테이블 (MY_TABLE)의 평균나이(AGE) 조회-- SELECT AVG(AGE) AS 평균나이 FROM MY_TABLE --테이블(MY_TABLE)의 수량(QT)의 전체 평균(..
-
DB/MSSQL 2018.02.06[MSSQL] 별칭(ALIAS) 사용법 & 예제 ALIAS란? ALIAS 는 값에 별칭을 주어 접근을 별칭 형태로 할 수 있도록 하는 역할을합니다. 데이터,칼럼,테이블,서브쿼리,WHERE절 등에 사용할 수 있습니다. 대표적으로 알아보기 힘든 칼럼에 AS(별칭)을 많이 사용합니다. 예약어는 AS입니다. ALIAS(문법) ColumnName AS 컬럼명칭 --컬럼에 별칭 부여하기 TableName AS 테이블명칭 --테이블에 별칭 부여하기 ALIAS(예제) 1. 칼럼명에 별칭(AS)짓기 SELECT NO_NUM AS 사원번호,NO_NAME AS 사원명,AGE AS 나이 FROM EX_TABLE 2. 칼럼 NUM1+NUM2의 값을 TOTAL이라는 별칭(AS)짓기 SELECT NUM1 + NUM2 AS TOTAL FROM EX_TABLE 3.EX_TABLE이..
-
DB/MSSQL 2018.01.29[MSSQL] Delete문 사용법 & 예제(트랜잭션) 데이터베이스 MS_SQL Delete문 사용법 및 예제입니다. Delete문은 굉장히 위험한 명령어이므로 이왕이면 트랜잭션 안에서 실행해주는것이 좋습니다. 트랜잭션이란? 하나의 처리를 여러 단계로 다루는 기능을 트랜잭션(Transaction)이라고 합니다. 하나의 처리를 Commit이라는 명령어를 수행하기전 마지막으로 한번 더 확인할 수 있는 기회를 줌으로써 좀 더 안정적인 데이터베이스 작업을 가능하게 합니다. 트랜잭션의 실행결과를 데이터베이스에 반영하는 것을(Commit)이라고 하고 반영하기 전으로 되돌리는 것을 롤백(RollBack)이라고 합니다. BEGIN TRAN--트랜잭션 시작 ROLLBACK TRAN --트랜잭션 이전상태로 ROLL BACK COMMIT TRAN --트랜잭션 완료 Delete ..
-
DB/MSSQL 2018.01.29[MSSQL] Update문 사용법 & 예제(트랜잭션) 데이터베이스 MS_SQL Update문 사용법 및 예제입니다. Update문은 굉장히 위험한 명령어이므로 꼭 트랜잭션 안에서만 사용해주셔야 합니다. 특히 Update문구에 실수로 Where 절을 쓰지 않고 실행을 하게 되면 테이블에 있는 칼럼 모두가 바뀌게 되는데 이런 큰 실수를 하게 되면 되돌릴 수도 없고 바로 사직서를 써야 하는 상황이 연출됩니다...... ㅠㅠㅠ 그러므로 먼저 Update에 하기 앞서서 Select문으로 자신이 바꿔야 할 데이터를 조회한 뒤 꼭 트랜잭션 안에서 Update문을 실행해주도록 합시다. 트랜잭션이란? 하나의 처리를 여러 단계로 다루는 기능을 트랜잭션(Transaction)이라고 합니다. 하나의 처리를 Commit이라는 명령어를 수행하기전 마지막으로 한번 더 확인할 수 있는..
-
DB/MSSQL 2018.01.29[MSSQL] Select문 사용법 & 예제 SELECT는 테이블에 있는 데이터를 조회하는 명령어입니다. Select(검색) --My_Table로 부터 모든 칼럼 조회 SELECT * FROM My_Table --My_Table의 No_Emp,Nm_Kor,Age 칼럼 조회 SELECT No_Emp,Nm_Kor,Age FROM My_Table Where(조건문) --이름이 '홍길동'인사람 검색 SELECT * FROM My_Table WHERE Nm_Kor ='홍길동' --나이가 25살인 사원의 한국이름과 나이 조회 SELECT Nm_Kor,Age FROM My_Table WHERE Age=25 --나이가 25살이 아닌 사원 조회 SELECT * FROM My_Table WHERE Age25 --사원번호가 '0315' 이고 나이가 25살보다 작거나 ..