728x90
반응형

mssql 47

MSSQL 정렬하기 (ORDER BY)

- ORDER BY 란? 테이블의 레코드를 조회할 때 결과를 정렬하여 표시하는 구문을 말합니다. ​ - MSSQL ORDER BY 사용방법 ​ SELECT [컬럼명] FROM [테이블명] WHERE [조건절] ORDER BY [정렬대상 컬럼명] [정렬기준] ​ ​ [참고사항] 정렬기준 ORDER BY의 정렬기준은 오름차순과 내림차순으로 나누어 집니다. 오름차순으로 정렬하고자 하는 경우 ASC를 내림차순으로 정렬하고자 하는 경우 DESC를 입력하면 되며, 아무것도 입력하지 않는 경우 기본값으로 오름차순 (ASC) 로 적용됩니다. - 테이블 생성 CREATE TABLE dbo.성적 ( 일련번호 int NOT NULL, 이름 varchar(6) NOT NULL, 점수 int NOT NULL ) ​ - 데이터 ..

IT/SQLD 2023.06.21

[MSSQL] 테이블 스키마 복사하기.

[테이블 스키마를 복사하는 방법 2가지] - 본 내용은 아래 링크의 내용을 필요한 내용만 간단히 요약한 것임. 자세한 내용은 아래 링크 참고. https://www.codeproject.com/Tips/664327/Copy-Table-Schema-and-Data-From-One-Database-to-An 1. SQL 쿼리 사용하기. - 테이블 스키마와 테이블안 레코드 모두 복사하고 싶을때 Select * into [DestinationDatabaseName.dbo.DestinationTableName] from [SourceDatabaseName.dbo.SourceTableName] * 단 DestinationDB.dbo.tableName 테이블은 위 쿼리를 통해 만들어지는 테이블이기 때문에 쿼리 실행 ..

IT/SQLD 2023.06.10

[MSSQL] 시작일자 종료일자 사이 모든 일자를 조회하는 방법

쿼리문을 작성하다 보면 테이블에 데이터는 없지만 시작일자와 종료일자 사이의 일자(날짜)를 포함하여 조회해야 할 때가 있다. 날짜만 들어있는 테이블을 생성해서 조인하여 사용해도 되지만, 해당 기간의 데이터를 동적 뷰로 생성하여 일시적으로 사용할 수도 있다. 날짜 뷰를 생성하기 위해서는 재귀 쿼리(WITH CTE) 또는 master..spt_values 시스템 테이블을 사용하면 된다. MSSQL 기간내 모든 일자(날짜) 조회 재귀 쿼리(WITH CTE)로 날짜 뷰 만들기 WITH DateRange(Dates) AS ( SELECT CONVERT(DATE, '2021-12-01') --시작일자 UNION ALL SELECT DATEADD(d, 1, Dates) FROM DateRange WHERE Dates ..

IT/SQLD 2023.05.22

[MSSQL] DATEDIFF, DATEADD 날짜 비교, 날짜 계산

DATEDIFF 두 날짜의 차이를 계산하는 함수이다. 즉, 시작 날짜에서 종료 날짜까지의 일 수 차이를 반환한다. SELECT DATEDIFF(날짜형식, 시작날짜, 종료날짜) 1) 두 날짜의 차이 일 수 SELECT DATEDIFF(DAY, '2017-02-13', '2017-03-15') AS '차이 일 수' 결과 데이터 2) 두 날짜 비교 DECLARE @Date DATETIME = '2017-02-15' IF DATEDIFF(d, @Date, '2017-02-13') > 0 SELECT '2017-02-13 미만 (미포함)' ELSE IF DATEDIFF(d, @Date, '2017-02-13')

IT/SQLD 2023.05.22

[MSSQL] 조인 방법 쉽게 정리 (INNER JOIN, OUTER JOIN)

SQL Server에서는 조인을 할 때에는 안시 조인(ANSI JOIN) 사용을 권장한다. 아래에는 조인(INNER JOIN), 아우터 조인(LEFT OUTER JOIN, RIGHT OUTER JOIN), 크로스 조인(CORSS JOIN) 사용법을 정리하였다. INNER JOIN과 LEFT OUTER JOIN은 꼭 사용법을 숙지해야 하며, 나머지 부분은 개념만 이해하고 넘어가면 된다. 조인 (INNER JOIN) : 기준 테이블과 조인 테이블 모두 데이터가 존재해야 조회됨 아우터 조인 (OUTER JOIN) : 기준 테이블에만 데이터가 존재하면 조회됨 조인 (INNER JOIN) SELECT a.empno , a.ename , a.job , a.mgr , a.deptno , b.dname FROM emp..

IT/SQLD 2023.05.22

[MSSQL] GROUP BY COUNT 그룹으로 묶어 집계하기

GROUP BY COUNT 그룹으로 묶은 후 집계해보자 초기 데이터 위와 같은 데이터가 있을 때 우리는 name을 기준으로 count를 구할 것이다. 1. name 칼럼을 기준으로 그룹별로 count 2. name 컬럼을 기준으로 총 count 3. name 컬럼 값 + name 칼럼을 기준 총 count 함께 출력 (count를 컬럼으로) 1. name 칼럼을 기준으로 그룹별로 count SELECT name, COUNT(name) AS cnt FROM table_ggmouse GROUP BY name 결과 데이터 2. name 컬럼을 기준으로 총 count SELECT COUNT(name) AS cnt FROM ( SELECT name FROM table_ggmouse GROUP BY name ) A..

IT/SQLD 2023.05.22

[DATABASE/SQL] WHERE절에 NOT 사용하기 , 특정 값을 제외한 조회

예제 테이블) with school as ( select '1' as 학년, '쉬시' as 이름, 70 as 점수 from dual union all select '3','용띠' ,54 union all select '3','이웃집청소' ,72 union all select '1','붜워' ,10 union all select '2','윤띵' ,50 union all select '3','츄밍뜨' ,60 union all select '2','BackSengWon' , 15 union all select '2','동탄' ,90 union all select '3','듀탄퐁', 0 ) select * from school; 문제) NOT을 이용하여 학년이 1학년이 아닌 학생들의 레코드를 조회 하세요 wit..

IT/SQLD 2023.05.22

[MSSQL] 저장 프로시저(Stored Procedure) 내용 검색하기

저장 프로시저 내용 검색하기 가끔 저장 프로시저 이름이 안떠오르거나 다수의 SP의 내용을 일괄적으로 바꾸거나 할 필요가 있을 경우가 있습니다. 저장 프로시저를 일일이 열어봐서 찾으려고 하니 숨이 턱막힙니다. 그럴 때 유용한 저장프로시저 내용 검색쿼리를 소개합니다. 잘못된 방식 SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%찾을 내용%' AND ROUTINE_TYPE='PROCEDURE' …포스트 작성하기 전까지는 위 쿼리를 사용했었습니다만 찾다보니 문제를 발견하였습니다. ROUTINE_DEFINITION이 nvarchar(4000)으로 문자열을 변환하여 내려주기 때문에 매우 긴 내용의 경우 검색에 문제가 있다고 합니다...

IT/SQLD 2023.05.22
728x90
반응형