본문 바로가기

반응형

전체 글

(105)
[mssql] 테이블 복제 쉽게 하기 SELECT.. INTO .. SELECT .. INTO 문을 사용하여 테이블 정의를 생략하고 만들 수 있다.원하는 데이터만 따로 테이블을 복제 하고 싶다면. FROM 아래 WHERE 조건 절을 주고 사용 가능하다. 1234USE tempdb;SELECT BusinessEntityID as id, FirstName as fname, LastName as lnameINTO testTableFROM AdventureWorks.Person.Person;Colored by Color Scriptercs
[mssql] 값 자동 증가 identity, 시퀀스(sequence) 생성과 사용법 identity는 해당 열이 자동으로 값이 증가하도록 설정 할 수 있다. CREATE TABL]E ( [컬럼명] [숫자데이터형식] IDENTITY ([초기값], [증가값]) [제약조건] ) 컬럼 추가 시 ALTER TABLE [테이블명] ADD [컬럼명] [숫자형 데이터형식] IDENTITY ([초기값], [증가값]) [제약조건] 1씩 자동으로 증가 하는 테이블 만들기 ( INSERT 문에서 생략 가능) CREATE testTable ( id int IDENTITY, name); GO INSERT INTO testTable values('이름');​ IDENTITY에 원하는 값을 직접 입력 하고 싶을때 *주의사항 IDENTITY_INSERT를 ON으로 변경한 테이블은 입력할 열을 꼭 지정해줘야 한다. 생..
[mssql] WITH 절 , 비재귀적 CTE WITH 절은 CTE(Common Table Expression)을 표현하기 위한 구문이다. CTE는 기존 뷰, 파생테이블, 임시 테이블 들으로 사용되던 것을 대신 할 수 있으며, 더 간결한 식으로 보여지는 장점이 있다. 비재귀적 CTE, 재귀적 CTE 두가지가 있다. 비재귀적 CTE 단순한 형태이며, 복잡한 쿼리문장을 단순화시키는 데에 적합하게 사용될 수 있다. 사용법 WITH CTE_테이블이름(열이름) AS( ) SELECT 열이름 FROM CTE_테이블이름 ; ​ WITH AAA(열이름) AS( AAA쿼리문), BBB(열이름) AS ( BBB쿼리문), CCC(열이름) AS (CCC쿼리문), SELECT * FROM [AAA OR BBB OR CCC] 테이블에서 총구매액을 구하여 정렬하고 싶을때 실제..
[mssql] ROLLUP() 그룹별 합계 구하기, GROUPING_ID() 사용법 1 2 3 select num, groupname, sum(price * amount) as '비용' from buyTb1 group by ROLLUP(groupname, num); cs 중간 NULL로 되어 있는 것이 각 GROUPNAME 별 소 합계를 의미한다. 마지막은 소합계의 합계, 즉 총합계가 나왔다. 1 2 3 4 select groupname, sum(price * amount) as '비용' from buyTb1 group by rollup(groupname); Colored by Color Scripter cs GROUP BY에서 그룹이름으로 묶어주면 각 그룹 별 소합계, 총 합계만 볼 수 있다. 1 2 3 4 select groupname, sum(price * amount) as '비..
[mssql] GROUP BY / HAVING 사용법 GROUP BY- 그룹별로 묶어주는 역할을 한다.- 집계함수에 사용되는 컬럼은 GROUP BY절에 없더라도 사용가능하다.- 집계함수에 사용되지 않는 컬럼은 GROUP BY 절과 SELECT 절에 함께 써줘야 한다. PersonType별로 묶어보자 묶어준 PersonType별로 ID 수를 알고 싶을 때 -- 집계함수 사용 (count) ** 집계 함수 **AVG() 평균 MIN() 최소값 MAX() 최대값COUNT() 행의 개수 STDEV() 표준편차 VAR() 분산 SUM() 합계 ** 주의사항 ** GROUP BY 없이 별도의 열을 집계 함수와 같이 사용할 수 없다. 가장 큰 키와 가장 작은 키의 회원 이름과 키를 출력 하고 싶다면 ? 아래와 같이 작성 시 오류가 나온다. 1SELECT name, MI..
[mssql] 중복제거 DISTINCT 사용법 DISTINCT 는 중복된 것을 1개만 출력한다. 사용법 : 1SELECT DISTINCT AGE From USER;cs 결과: 해당 테이블의 age중 중복된 값을 제거하고 1개씩만 보여준다. AGE 1 25 2 26 3 27 4 29
[mssql] 서브쿼리뜻 ANY, ALL 사용법 예제 서브쿼리란 ? 하나의 쿼리문 안에 또 다른 쿼리문이 들어 있는 것이다.SELECT, FROM, WHERE, HAVING, ORDER BY절 등등 다양한 곳에서 사용 가능하다.서브쿼리 안에 서브쿼리를 계속 넣는 형식도 가능. - A의 키보다 크거나 같은 사람을 모두 구하여라.12345--1. A의 키를 찾는다.SELECT height FROM USER WHERE name = 'A' --(결과 : A의 height는 180) --2. A의 키를 이용해 A의 키보다 크거나 같은 사람 구하기.SELECT * FROM USER WHERE height >= 180 ;cs * 서브쿼리를 이용 하면 ( 2번과 같은 결과도출)123SELECT * FROM USER WHERE height >= (SELECT height ..
[mssql] BETWEEN..AND / IN / LIKE 사용법, 예제, 차이 연속적인 값을 조회할때 BETWEEN~AND 사용 - 키가 180~185인 사람 조회 123SELECT * FROM USER WHERE height >=180 AND height

반응형