본문 바로가기

반응형

msSQL

(69)
[웹 DB] sqlfiddle 무설치 쿼리 연습 사이트 (MySQL, Oracle, PostgreSQL, SQLite, MS SQL) DB 설치가 여의치 않을 경우 웹 사이트에서 쿼리 실행을 해볼 수 있다. http://sqlfiddle.com/ 사이트소개 1. DB 선택 상단 좌측 첫 번째 버튼을 클릭 하여 DB를 선택할 수 있다. 2. 샘플 코드 작성 View Sample Fiddle 버튼을 클릭하면 자동으로 샘플 코드를 작성해준다. 3. 쿼리 초기화 Clear 버튼을 클릭하면 쿼리를 초기화 한다. 4. 텍스트 쿼리 빌더 Text to DDL은 형식화된 문자열로 스키마 쿼리문을 작성해준다. 5. 쿼리문 실행 영역은 2개로 나뉘어져 있다. 먼저, 좌측 영역은 스키마 패널로 초기 데이터를 만들기 위한 목적이다. 테이블 생성, 삭제 및 데이터 입력, 수정 삭제 등을 실행한다. 쿼리문 작성 후 Build Schema버튼을 클릭하고 에러가 ..
[MSSQL] COUNT(*) COUNT(1), COUNT(컬럼명) 행의 개수 집계함수 중 행의 개수를 세는 COUNT 함수에 대해 알아보자 COUNT(*), COUNT(1), COUNT(컬럼) COUNT(*), COUNT(1) COUNT(*)은 COUNT(1)와 동일하다고 볼 수 있다. 코딩 스타일이 다를뿐 두 개의 성능차이는 없다. COUNT(컬럼) COUNT(*), COUNT(1)은 NULL 값과 상관없이 모든 행 수를 카운트한다. 하지만 COUNT(컬럼)은 해당 컬럼의 값이 NULL인 행은 COUNT에 포함되지 않는다. 예제 COUNT(COL1)과 COUNT(*)의 결과를 비교해보자 WITH TABLE1 (COL1) AS ( SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT NULL UNION ALL SELECT 3 UNION ALL SELEC..
[MSSQL] 세로 데이터 가로로 출력 (데이터 한줄로 출력) STUFF, FOR XML PATH 여러 로우의 데이터를 한개의 로우 데이터로 출력해보자 (세로 데이터 가로 한줄로 출력) STUFF , FOR XML PATH SELECT STUFF((SELECT ',' + 컬럼명 FROM A FOR XML PATH ('')), 1, 1, '') AS '가로출력' FROM 테이블명 예제 NAME 손꽁쥐 윤선생 황박사 위의 데이터를 아래와 같이 한줄로 출력하고자 한다 NAME 손꽁쥐, 윤선생, 황박사 WITH TABLE_A (NAME) AS ( SELECT '손꽁쥐' UNION ALL SELECT '윤선생' UNION ALL SELECT '황박사' ) SELECT TOP 1 STUFF((SELECT ',' + NAME FROM TABLE_A FOR XML PATH('')), 1, 1, '') AS '결과'..
[MSSQL] COUNT CASE (조건 카운트) COUNT DISTINCT (중복제거 카운트) COUNT CASE, COUNT DISTINCT 조건에 따른 카운트 및 중복을 제거한 카운트를 세보자 COUNT CASE (조건 카운트) 특정 조건에 해당하는 행의 카운트를 세보자 SELECT COUNT(CASE WHEN 조건 THEN 1 END) FROM 테이블 조건에 일치할 경우 카운트하고, 일치하지 않을 경우 카운트하지 않는다. 예제. 반별 학생 수 카운트 반을 기준으로 반별로 학생의 수를 카운트해보자 WITH TABLE1 (반, 이름) AS ( SELECT 1, '꽁쥐' UNION ALL SELECT 1, '박사' UNION ALL SELECT 2, '찌우' UNION ALL SELECT 2, '소태' UNION ALL SELECT 2, '소희' UNION ALL SELECT 3, '현정' UNI..
[MSSQL] ROUND, CEILING, FLOOR (소수점 반올림, 올림, 버림) ROUND (반올림) ROUND(값, 반올림 자릿수, [반올림 여부]) 구하려는 소수점 자리수의 한 자리 아래의 숫자를 반올림 혹은 버림한다. 반올림 여부의 값을 0 또는 생략할 경우 반올림, 음수값일 경우 버림 먼저 반올림의 의미를 알아보자. 반올림이란 구하려는 자리의 한 자리 아래 숫자가 0, 1, 2, 3, 4 일 경우 버림 5, 6, 7, 8, 9 일 경우 올리는 방법을 뜻한다. 그럼 예제를 살펴보자 SELECT ROUND(10.349, 1) -- 10.300 SELECT ROUND(10.349, 2) -- 10.350 SELECT ROUND(10.349, 2, 0) -- 10.350 SELECT ROUND(10.349, 2, -1) -- 10.340 설명> 1) 반올림 자릿수가 1 즉, 구하려는..

반응형