분류 전체보기 (518) 썸네일형 리스트형 NULL 값을 0으로 표시 ISNULL( sales, 0 ) ex) --고객 아이디 , 고객이름, 그사람의 총 구매액을 높을순서부터 출력 select C.custId, C.custName, ISNULL( sum(sales), 0 ) as '총 구매액' from customersTbl C left join salesTbl S ON C.custId = S.custId group by C.custId, C.custName order by sum(sales) desc Rollup(), Grouping Rollup() 함수 ROLLUP구문은 GROUP BY 절과 같이 사용 되며, GROUP BY절에 의해서 그룹 지어진 집합 결과에 대해서 좀 더 상세한 정보를 반환하는 기능을 수행 한다. SELECT절에 ROLLUP을 사용함으로써 보통의 SELECT된 데이터와 그 데이터의 총계를 구할 수 있다. select goodsId, sum(sales) as [판매금액] from salesTbl group by rollup(goodsId); select custId, goodsId, sum(sales) as [판매금액] from salesTbl group by rollup(goodsId, custId); --GOURPING_ID 함수 -> 0/1로 반환되어 나중에 처리하기 편함 select custId, goods.. CTE CTE는 SELECT, INSERT, UPDATE, DELETE 또는 CREATE VIEW 문 하나의 실행 범위 내에서 정의되는 임시 결과 집합이라고 볼 수 있다. 사용방법 : WITH 테이블명 AS (SELECT ...) -- CTE ? select custId, sum(sales) as [판매금액] from salesTbl group by custId order by sum(sales); --위와 동일, 아이디별 금액 합산 : customber, total 이라는 변수를 생성. == custId, sum(sales) with cte_sum(customer,total) as (select custId, sum(sales) as [판매금액] from salesTbl group by custId ) sel.. sp_help sp_help? 현재 데이터베이스에서의 데이터베이스 개체 사용방법 exec sp_help "goodsTbl" exec sp_help "customersTbl" exec sp_help "salesTbl" 날짜, 기타 기타 select @@LANGUAGE;--한국어 select @@SERVERNAME; select @@SERVICENAME; select @@VERSION; --현재시간 조회 select SYSDATETIME(), GETDATE();--2020-11-09 16:44:49.2413025 // 2020-11-09-16:44:49.240 --100일 후 계산하기 select DATEADD(day, 100, '2018-10-10');--2019-01-18 00:00:00.000 --남은 주 계산 select DATEDIFF(week, GETDATE(), '2021-10-10');--48 --특정 날짜의 요일을 가져온다 select DATENAME(weekday, '2022-10-11');--화요일 --특정파트의.. CAST(), CONVERT(), TRY_(), PARSE() "데이터 변환 함수" cast() --cast로 float 적용하기 select avg( cast(sales as float) ) as [평균매출] from salesTbl; --4064.28571428571 price를 int에서 varchar로 변경 select cast(price as varchar)as 가격 from salesTbl convert() select avg( convert(float,sales) ) as [평균매출] from salesTbl; 테이블의 나이컬럼을 int에서 char로 변환 select convert(nvarchar(10),age)+'세' as 나이 from my_table 테이블에서 날짜DTS 칼럼을 int에서 date로 변환 select convert(date,cub.. @myVar 변수선언, 할당, 추출 --변수선언하기 declare @myVar1 int; declare @myVar2 smallint, @myVar3 decimal(5,2); declare @myVar4 nchar(20); --값을 할당하기 set @myVar1=5; set @myVar2=3; set @myVar3=2.34; set @myVar4='고객이름=> '; --위의 것을 기준으로 값을 추출 select @myVar1; select @myVar2+@myVar3; select @myVar4, custName from customersTbl where regDate > '2018-01-01'; --변수 선언 후 값을 지정하고 함수에 사용 declare @myVar1 int; set @myVar1 = 3; select top(@myVar.. Merge table memberTbl을 M, changeTbl을 C로 잡은 후 M. ,C. 으로 사용함 on을 통해 조건을 준 다음 when으로 상황을 나누어 그 상황에 맞는 값을 씀 merge memberTbl as M using changeTbl as C on M.custId = C.userId when not matched and changeType = '신규가입' then insert(custId, custName, addr) values (C.userId, C.name, C.addr) when matched and changeType ='주소변경' then update set M.addr = C.addr when matched and changeType = '회원탈퇴' then delete; 하기전 테이.. 이전 1 ··· 8 9 10 11 12 13 14 ··· 65 다음