DB/MSSQL(29)
-
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.01.29
[MSSQL] Insert문 사용법 & 예제
데이터베이스 MS_SQL 데이터 삽입(Insert) 사용법 및 예제입니다. Insert 문법 INSERT INTO 테이블명(칼럼1,칼럼2,칼럼3,....) values(데이터1,데이터2,데이터3,......) INSERT INTO My_Table(no_emp,nm_kor,age) values('dz000','홍길동',20) Insert문의 사용법은 다음과 같습니다. 하지만 위 방법은 일일이 수작업으로 데이터를 한줄한줄 넣는 방식이므로 테이블에 다량의 데이터를 삽입하려고 하면 굉장히 번거롭고 비효율적입니다. 여기서 만약 삽입해야 할 데이터가 다른 테이블에 이미 삽입되어 있다면..?? 새로 데이터를 일일이 넣는 것보다 이미 삽입되어있는 테이블의 데이터를 가지고 오는 방법이 더 효율적이지 않을까요? 이럴 때 ..
-
DB/MSSQL
2018.01.26
2
[MSSQL] 테이블 생성,수정,삭제 (Create, Alter, Drop Table)
데이터베이스 DDL에는 Create(생성), Alter(수정), Drop(삭제)를 시킬 수 있는 명령어가 있습니다. 이 테이블의 구조를 생성, 변경, 삭제를 하는 것이 DDL입니다. 이번 포스팅에서는 여러 DBMS 중에서 MSSQL의 DDL에 대해서 포스팅하려 합니다. CREATE TABLE(테이블 생성) --문법 CREATE TABLE 테이블명( 컬럼명 타입(크기) NOT NULL, --널값이 들어갈 수 없음 컬럼명 타입 NULL DEFAULT(값), --초기값 지정 CONSTRAIN PK이름 PRIMARY KEY(컬럼명) --PK설정 ) --예제 CREATE TABLE MY_TABLE( NO_EMP NVARCHAR(10)NOT NULL, -- NULL 값이 들어갈 수 없음 NM_KOR NVARCHAR..
-
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.01.29[MSSQL] Insert문 사용법 & 예제 데이터베이스 MS_SQL 데이터 삽입(Insert) 사용법 및 예제입니다. Insert 문법 INSERT INTO 테이블명(칼럼1,칼럼2,칼럼3,....) values(데이터1,데이터2,데이터3,......) INSERT INTO My_Table(no_emp,nm_kor,age) values('dz000','홍길동',20) Insert문의 사용법은 다음과 같습니다. 하지만 위 방법은 일일이 수작업으로 데이터를 한줄한줄 넣는 방식이므로 테이블에 다량의 데이터를 삽입하려고 하면 굉장히 번거롭고 비효율적입니다. 여기서 만약 삽입해야 할 데이터가 다른 테이블에 이미 삽입되어 있다면..?? 새로 데이터를 일일이 넣는 것보다 이미 삽입되어있는 테이블의 데이터를 가지고 오는 방법이 더 효율적이지 않을까요? 이럴 때 ..
-
DB/MSSQL 2018.01.26 2[MSSQL] 테이블 생성,수정,삭제 (Create, Alter, Drop Table) 데이터베이스 DDL에는 Create(생성), Alter(수정), Drop(삭제)를 시킬 수 있는 명령어가 있습니다. 이 테이블의 구조를 생성, 변경, 삭제를 하는 것이 DDL입니다. 이번 포스팅에서는 여러 DBMS 중에서 MSSQL의 DDL에 대해서 포스팅하려 합니다. CREATE TABLE(테이블 생성) --문법 CREATE TABLE 테이블명( 컬럼명 타입(크기) NOT NULL, --널값이 들어갈 수 없음 컬럼명 타입 NULL DEFAULT(값), --초기값 지정 CONSTRAIN PK이름 PRIMARY KEY(컬럼명) --PK설정 ) --예제 CREATE TABLE MY_TABLE( NO_EMP NVARCHAR(10)NOT NULL, -- NULL 값이 들어갈 수 없음 NM_KOR NVARCHAR..