MSSQL 쿼리 주의사항 주요 실수
·
데이터베이스
데이터베이스를 사용하는 사람일 경우 쿼리를 한번 실수해도 큰일나는 경우가 많습니다. 주의를 요해야합니다. 주요 실수에 대해서 알아봅시다. 정말 실수를 내면 안되며, 실수가 나도 원복을 할 수 있도록 작업 전 백업을 해놓거나 업데이트자, 업데이트시간, 코멘트를 적을 수 있도록 합시다. 1. SELECT * 전체조회 데이터가 별로 없을 경우 SELECT * 로 전체 조회해도 문제가 없습니다. 하지만 데이터가 엄청 많은 경우 테이블 전체를 조회하면 문제가 생길 수 있습니다. SELECT * -- 전체조회 FROM USER WITH(NOLOCK) 2. 조회조건 누락 조회조건이 없는 상태, 주석인 상태로 쿼리를 실행하면 엄청나게 많은 데이터가 변경 될 수 있습니다. 꼭 확인하고 쿼리를 실행하기전 아래에서 위로 드..
[MSSQL] 여러개 쿼리 하나로 묶기_UNION ALL
·
데이터베이스
SQL SERVER 에서 여러개의 쿼리를 하나의 쿼리로 담아야할 때 저는 아래와 같이 UNION ALL 을 사용합니다. 이는 담아야 하는 테이블은 많으나 JOIN할수 있는 조건이 없고 하나의 테이블에 모든 데이터를 담기 어려울 때가 있기 때문입니다. 저는 이럴때 아래와 같이 진행합니다. 만약 유저테이블의 이름을 뽑고 매출테이블의 금액을 뽑고 싶다.. (물론 위와 같은 케이스로 데이터를 뽑지는 않겠지만 예시로 봐주시면 좋을 것 같습니다.) - 유저 테이블 유저 테이블 USER_NM USER_ID USER_AGE 영희 1004 21 철수 9999 25 강인 7777 26 - 매출 테이블 매출 테이블 DATE USER_EN_NM DAY_PRICE 20231125 YUNG 120,000 20231126 YU..
[MSSQL] UNION , UNION ALL 이란
·
데이터베이스
우선 UNION ALL , UNION 은 쿼리에서 아래와 같은 역할을 합니다. 공통점 : 쿼리를 합쳐주는 역할을 한다 차이점 : 중복 제거해주는지 중복 허용하는지 UNION ALL : 중복 허용 UNION : 중복 제거 두개 모두 성능에는 좋은 영향을 주지 않지만 특히 쿼리 성능이 저하되기 때문에 최대한 UNION 사용은 지양해야합니다. 주의사항은 컬럼의 개수, 데이터 타입이 모두 같아야합니다. 사용법은 아래와 같습니다. UNION - TESTTABLE USERID NAME 1004 천사 9999 악마 SELECT * FROM TESTTABLE A WITH(NOLOCK) WHERE A.USERID = '1004' AND A.NAME = '천사' UNION SELECT * FROM TESTTABLE B ..
[SQLD] SQLD 책 추천, 노랑이
·
데이터베이스
SQLD 합격 후기는 이전 게시물 참고 부탁드리며, 합격에 도움을 준 추천 SQLD 책을 소개드리고자 작성하였습니다. 2023.06.25 - [데이터베이스] - [SQLD] SQLD 후기 및 공부방법 [SQLD] SQLD 후기 및 공부방법 회사에서 데이터베이스를 사용하고 있는데 SQL 관련 자격증은 갖고있지 않아 동기부여에 도움이 될 것 같아 공부시작 1. SQLD 란 국가공인 자격증으로 인정해주는 자격증이며, SQLD(SQL Developer)란 myit.tistory.com 우선 전 49회 SQLD 자격증 시험에 합격하였습니다. 책은 노랑이(SQL 자격검정 실전문제)를 추천드립니다. 노랑이로 불리는 이책은 SQLD,P 자격증에서 좋은것으로 가장 널리 알려져 있는 책입니다. 실제로 시험 시 문제/정..
[SQLD] SQLD 후기 및 공부방법
·
데이터베이스
회사에서 데이터베이스를 사용하고 있는데 SQL 관련 자격증은 갖고있지 않아 동기부여에 도움이 될 것 같아 공부시작 1. SQLD 란 국가공인 자격증으로 인정해주는 자격증이며, SQLD(SQL Developer)란 데이터베이스 지식으로 응용 소프트웨어를 개발하면서 데이터를 조작, 추출하는데 있어 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있는 개발자를 의미합니다. SQLD 자격증 소유 시 이점을 주는 회사 취직용으로 취득하거나, 데이터의 중요성이 높아지는 만큼 자기계발 목적으로 취득하는 응시자가 점차 증가하는 것 같습니다. 합격률은 평균 50~60% 정도 되는 것 같습니다. 2. 시험정보 총 2과목 50문제, 합격기준 총 100점중 60점 과락 과목별 40% 미만, 1과목 10개 문항 중 7..
MSSQL sp 명령어
·
데이터베이스
MSSQL에서 기본적으로 제공하는 sp 명령어에 대하여 알아봅시다. 자주 사용하는 sp 명령어 sp_help : 데이터베이스 객체(sysobjects에 나열되어 있는 모든 객체)에 대한 정보와 Adaptive Server 제공 데이터 유형이나 사용자 정의 데이터 유형에 대한 정보를 보고합니다. sp_lock : 현재 lock을 보유하고 있는 프로세스에 대한 정보를 보고합니다. sp_spaceused : 현재 데이터베이스의 한 테이블이나 모든 테이블에서 사용하는 예상 행 수, 예상 데이터 페이지 수 및 예상 공간 값을 표시합니다. sp_who : 모든 현재 Adaptive Server 사용자와 프로세스에 대한 정보, 특정 사용자 또는 프로세스에 대한 정보를 보고합니다. 기타 sp 명령어 sp_activer..
데이터베이스 JOIN 이란
·
데이터베이스
1. Join 문이란? 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용 2. Join 문을 사용하는 이유 (왜?) 찾는 데이터가 한 테이블에 모두 있으면 좋겠지만 보통 한 테이블에 있지 않고 여러 테이블에 나눠져 있습니다. 두 개이상의 테이블을 엮어서 원하는 데이터를 추출하기 위해서 사용합니다. 2-1 왜 테이블이 나눠져있나요? 1. 시간단축 : 모든 데이터가 한 테이블에 있으면 데이터 조회에 많은 시간이 소요됩니다. 2. 관리용이 : 세부적으로 데이터가 나눠져있어야 데이터 관리가 용이합니다. 3. 확장성 : 신규 프로그램 셋업 시 작은단위의 테이블이 있어야 빠르게 프로그램 세팅 가능 3. Join문 무엇이 있나요? Join은 총 4가지가 있습니다. INNER JOIN(내부 조인) : 두 ..
[MSSQL] 한글(글자) 깨짐현상
·
데이터베이스
MSSQL 에서 테이블에 SELECT를 하였을 때 한국어가 ?로 글자가 깨지는 현상이 발생합니다. 이는 데이터베이스가 유니코드를 인식하지 못하여 발생하는 현상입니다. 깨짐 현상을 해결하기 위해서는 두가지 방법이 있습니다. 1. INSERT 시 앞에 N을 붙이기 아래와 같이 INSERT 할때 N을 붙이면 아래와 같이 정상적으로 한글이 인입되는 것을 확인 할 수 있습니다. 2. 현재 데이터베이스에 기본 언어 수정 -- 현재 데이터베이스의 언어 확인 SELECT NAME, COLLATION_NAME FROM sys.databases; -- 언어 수정 (데이터베이스 이름 수정필요) ALTER DATABASE 데이터베이스이름 COLLATE Korean_Wansung_CI_AS; /* Korean_Wansung_C..