목록MSSQL (138)
투케이2K
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [index 인덱스 생성 및 삭제 수행 실시] 1. 인덱스(index)는 테이블에서 원하는 데이터를 쉽고 빠르게 찾기 위해 사용합니다 2. 인덱스는 자주 사용되는 필드 값으로 만들어진 원본 테이블의 사본이라고 생각할 수 있습니다 3. 인덱스를 사용하면 테이블 전체를 읽지 않아도 되므로, 검색과 질의에 대한 처리가 빠르게 이루어집니다 4. 인덱스는 사용자가 직접 접근할 수는 없으며, 검색과 질의에 대한 처리에서만 사용됩니다 5. 인덱스가 설정된 필드 값을 포함한 데이터의 삽입, 삭제, 수정 작업이 원본 테이블에서 이루어질 경우, 인덱스도 함께 수정되어야 합니다 */ -- [인덱스 생성 수행 실시] CREATE IN..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [ISNUMERIC 사용해 특정 데이터가 숫자 NUMBER 인지 확인 실시] 1. ISNUMERIC : 특정 데이터가 순수하게 숫자로 이뤄진 여부를 확인합니다 2. ISNUMERIC : 순수한 숫자로 이뤄진 경우 1값 반환 / 문자 포함 시 0 값 반환 */ -- [쿼리문 수행 실시] SELECT ISNUMERIC('5') AS '5 숫자 여부', ISNUMERIC(3) AS '3 숫자 여부', ISNUMERIC('A') AS 'A 숫자 여부'; [결과 출력] [요약 설명] /* [ISNUMERIC 사용해 특정 데이터가 숫자 NUMBER 인지 확인 실시] 1. ISNUMERIC : 특정 데이터가 순수하게 ..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [CHARINDEX 사용해 특정 문자열이 포함된 위치 값 INDEX 확인 실시] 1. CHARINDEX : 문자열에서 지정한 문자 위치를 반환합니다 2. 문법 : CHARINDEX(찾을 문자열, 원본 문자열) / CHARINDEX(찾을 문자열, 원본 문자열, 찾을 시작 위치) */ -- [쿼리문 수행 실시] SELECT CHARINDEX('A', COL) AS 'A 문자 위치', CHARINDEX('EF', COL) AS 'EF 문자 위치', CHARINDEX('A', COL, 3) AS 'A 문자 위치 [3 이후]', CHARINDEX('B', COL, 5) AS 'B 문자 위치 [5 이후]', CHARINDE..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [REVERSE 사용해 문자열 데이터 거꾸로 (반대로) 출력 실시] 1. REVERSE 는 입력된 문자열을 반대 순서로 출력합니다 2. REVERSE(데이터) 방식으로 문법을 사용합니다 */ -- [쿼리문 수행 실시] SELECT '투케이' AS '원본 문자열 출력', REVERSE('투케이') AS '문자열 거꾸로 출력'; [결과 출력] [요약 설명] /* [REVERSE 사용해 문자열 데이터 거꾸로 (반대로) 출력 실시] 1. REVERSE 는 입력된 문자열을 반대 순서로 출력합니다 2. REVERSE(데이터) 방식으로 문법을 사용합니다 */
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [coalesce 사용해 널이 아닌 첫번째 값을 출력 실시] 1. coalesce (값, 값, 값, ...) - 값들을 서로 비교해서 널이 아닌 첫번째 값을 출력합니다 2. coalesce (NULL,'2','3') - 첫번째 자리 값이 널이므로 건너뛰고, 그다음 값을 확인해서 출력합니다 3. 참고 : 오라클은 공백 '' 데이터를 널로 인식하지만 Mysql 에서는 일반 데이터로 인식합니다 (반드시 null 로 명시해줘야합니다) */ /*[쿼리문 실행 실시]*/ select coalesce ('1','2','3') as "널이 아닌 첫번째 값", coalesce (NULL,'2','3') as "널이 아닌 첫번째 ..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [테이블 변수 선언 및 while 반복문 구문을 사용해 테이블 조회 결과 출력 실시] 1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다 2. declare [선언부] - 변수, 상수를 선언할 수 있습니다 3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다 4. end [종료부] - 실행된 로직의 종료를 선언합니다 5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다 6. print [출력] - 결과물을 출력할 때 사용합니다 7. while - 지정한 단계 만큼 반복문을 수행할 수 있습니다 */ DECLARE -- [임시 테..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [ISNULL , CASE 문을 사용해서 널 NULL 데이터 확인 및 대체 값 출력 실시] 1. case when [조건] then [조건 만족] else [조건 비만족] end 문법으로 사용합니다 2. isnull(컬럼 및 데이터, 대체값) : 데이터가 null 인 경우 대체 값을 출력합니다 (공백 데이터는 그대로 출력) 3. 참고 : isnull 사용 시 공백 '' 데이터는 그대로 출력되므로 case 문을 사용해서 null 및 공백 '' 데이터를 확인합니다 */ -- [쿼리 문 수행 실시] SELECT ISNULL(COL1, '0') AS '[ISNULL] COL1', -- [공백 데이터] ISNULL(COL..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [커서 CURSOR 사용해 테이블 행 조회 결과 출력 실시 - CURSOR FOR OPEN , FETCH NEXT FROM] 1. CURSOR FOR OPEN - 커서 생성 및 오픈을 실시합니다 2. FETCH NEXT : 현재 행의 바로 다음 행 결과를 반환합니다 3. @@FETCH_STATUS = 0 : FETCH 문이 성공적으로 수행된 경우를 나타냅니다 4. CLOSE : 오픈한 커서를 닫습니다 5. DEALLOCATE : 커서와 커서 이름 또는 커서 변수 간의 연결을 제거합니다 */ DECLARE -- [커서 선언 부분] V_CURSOR CURSOR FOR SELECT T_IDX, T_NAME, T_DEP..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [while 반복문 구문을 사용해 sum 합계 구하기 실시 - declare, begin, end] 1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다 2. declare [선언부] - 변수, 상수를 선언할 수 있습니다 3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다 4. end [종료부] - 실행된 로직의 종료를 선언합니다 5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다 6. print [출력] - 결과물을 출력할 때 사용합니다 7. while - 지정한 단계 만큼 반복문을 수행할 수 있습니다 */ DECLARE ..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [declare begin end 기본 구조 설명 및 문법 실행] 1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다 2. declare [선언부] - 변수, 상수를 선언할 수 있습니다 3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다 4. end [종료부] - 실행된 로직의 종료를 선언합니다 5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다 6. print [출력] - 결과물을 출력할 때 사용합니다 */ DECLARE -- [초기 변수 선언 부분] @V_NAME AS VARCHAR(100), @V_AGE AS INT;..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* *[case when then 조건문 사용해 데이터 출력 실시] *1. case - 조건문을 시작한다는 의미입니다 *2. when - 조건절을 표시하는 부분입니다 *3. then - 조건을 만족하는 경우 수행되는 부분입니다 *4. else - 조건을 만족하지 않는 경우 수행되는 부분입니다 *5. end - 조건문을 종료한다는 의미입니다 */ -- [case 문 수행 실시] SELECT T_NAME AS '이름', T_AGE AS '나이', T_DEPT AS '부서', CASE WHEN T_DEPT = '고구려' THEN '고구려 조건만족' WHEN T_DEPT = '백제' THEN '백제 조건만족' WHEN T_..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [select , from , where 서브쿼리 subquery 사용 실시] 1. 서브쿼리 : 쿼리 안에 또 다시 다른 쿼리를 포함하는 것입니다 - ( ) 소괄호 사용 2. select 서브쿼리 : select 절에서 () 소괄호 서브쿼리를 사용하는 것입니다 3. from 서브쿼리 : from 절에서 () 소괄호 서브쿼리를 사용하는 것입니다 4. where 서브쿼리 : where 절에서 () 소괄호 서브쿼리를 사용하는 것입니다 5. 참고 : 서브쿼리를 사용 시 테이블 구분을 위해서 약어로 테이블 이름을 명시해줘야합니다 */ -- [select 서브쿼리 수행 실시] select a.t_name as 이름, (se..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [inner join 내부 조인 실행 - 외부 조인 (left , right , full) 참고 추가] 1. INNER JOIN : 내부조인으로 값이 일치하는 컬럼을 기준으로 교집합 조인을 수행합니다 2. LEFT OUTER JOIN : 왼쪽 기준 외부 조인을 실시합니다 3. RIGHT OUTER JOIN : 오른쪽 기준 외부 조인을 실시합니다 4. FULL OUTER JOUN : 전체 합집합 조인을 실시합니다 5. 내부조인 문법 : from 절에서 수행 >> [a 테이블] inner join [b 테이블] on [교집합 조건] */ -- [내부 조인 수행 실시] select top (10) -- 행출력 10개 ..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [round, ceiling, floor, abs 사용해 소수점 반올림, 올림, 내림, 절대값 출력 실시] 1. ROUND(소수점, 소수점 출력 자릿수) : 반올림 수행 (소수점 출력 자릿수 만큼 반올림 수행 후 출력) 2. CEIL(소수점) : 올림 수행 3. FLOOR(소수점) : 내림 수행 4. ABS(값) : 절대값 출력 실시 */ -- [select 문 수행 실시] SELECT ROUND(3.14, 1) AS 반올림, CEILING(3.14) AS 올림, FLOOR(3.14) AS 내림, ABS(-3.14) AS 절대값; [결과 출력] [요약 설명] /* [round, ceiling, floor,..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [group by having 을 사용해 그룹 매핑 및 그룹 조건 지정 후 검색 실시] 1. group by : 동일한 컬럼 데이터간 그룹을 묶습니다 2. having : group by 에서 지정한 그룹에서 조건을 지정할 수 있습니다 3. 로직 : >> where 조건으로 고구려, 부여, 고려에 해당되는 데이터를 출력합니다 >> group by 절을 사용해서 t_dept 동일 데이터간 그룹을 묶습니다 >> having 조건으로 부서인원수가 5이상인 부서만 출력하도록 조건을 작성합니다 */ -- [select 절 수행 실시] select t_dept as 부서, count(t_dept) as 부서인원 from t..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [그룹 함수 count , max , min , sum , avg 확인 실시 - cast 데이터 형변환] 1. COUNT() 함수는 선택된 필드에서 특정 조건을 만족하는 레코드의 총 개수를 반환합니다 2. MAX() 함수는 선택된 필드에 저장된 값 중 가장 큰 값을 반환합니다 3. MIN() 함수는 선택된 필드에 저장된 값 중 가장 작은 값을 반환합니다 4. SUM() 함수는 선택된 숫자 타입의 필드에 저장된 값의 총 합을 반환합니다 5. AVG() 함수는 선택된 숫자 타입의 필드에 저장된 값의 평균값을 반환합니다 6. cast signed 정수값으로 형변환을 수행합니다 (컬럼 타입이 varchar 경우) 7. ..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [exists , not exists 사용해 조건을 만족하는 데이터가 있는지 확인 실시] 1. EXISTS 연산자 : 서브 쿼리의 모든 레코드의 존재를 테스트하는 데 사용합니다 2. NOT EXISTS 연산자 : 서브 쿼리의 모든 레코드의 존재를 테스트하는 데 사용합니다 3. EXISTS - 조건 만족 시 TRUE, 아니면 FALSE 값을 반환합니다 4. NOT EXISTS - 조건 만족 시 FALSE, 아니면 TRUE 값을 반환합니다 5. EXISTS TRUE 조건일 경우 전체 데이터를 반환하고 FALSE 일 경우 0개 데이터를 반환합니다 */ /*[EXISTS 조건 비만족 FALSE 조회 : 0 개 데이터]*..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [ltrim , trim , rtrim 사용해 문자열 start , end 공백 제거 실시] 1. ltrim : 문자열 기준 왼쪽 공백을 제거해줍니다 2. trim : 문자열 기준 양쪽 공백을 제거해줍니다 3. rtrim : 문자열 기준 오른쪽 공백을 제거해줍니다 */ -- [select 절 수행 실시] select ltrim(' abcd ') as 왼쪽공백제거, trim(' abcd ') as 양쪽공백제거, rtrim(' abcd ') as 오른쪽공백제거; [결과 출력] [요약 설명] /* [ltrim , trim , rtrim 사용해 문자열 start , end 공백 제거 실시] 1. ltrim : 문..
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [upper , lower 사용해 대문자 소문자 변경 실시] 1. upper : 문자열을 대문자로 변경해줍니다 2. lower : 문자열을 소문자로 변경해줍니다 */ -- [select 절 수행 실시] select upper('abCDTwok') as 대문자, lower('abCDTwok') as 소문자; [결과 출력] [요약 설명] /* [upper , lower 사용해 대문자 소문자 변경 실시] 1. upper : 문자열을 대문자로 변경해줍니다 2. lower : 문자열을 소문자로 변경해줍니다 */
[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드] /* [between and 조건절을 사용해 특정 범위를 만족하는 결과 출력] 1. between and : 특정 범위 값을 지정할때 사용합니다 (컬럼 between 시작 and 종료) 2. convert : 데이터 형변환을 수행할 때 사용합니다 3. 로직 : >> 나이가 20 ~ 25 범위인 조건을 찾은 후 >> 나이가 순서별 asc 작은순서로 정렬합니다 */ -- [select 절 조회 실시] select * -- from test_user where convert(int, t_age) between 20 and 25 order by convert(int, t_age) asc; [결과 출력] [요약 설명] ..