프로그래밍81 조인 조건절 위치에 따른 차이 설명 (SQL join where clause vs on clause) Left join 에서 Where 절에 조건이 들어가는 경우와 On 절에 조건이 들어가는 경우의 차이 하고자 합니다. 개념적 이해 대상의 범위를 먼저 지정하냐 나중에 지정하냐의 차이 (on -> where) Inner join 일 경우는 상관 없는 문제. outer join 일 경우에는 상관이 있음. Optimizer 는 이렇 게 해석합니다. WHERE 절: 조인한 후에 필터링(= null 포함 된 대상에 대해 null이 아닌 대상으로 필터링) ON 절 : 조인하기 전에 필터링(= 필터링 후 outer join결과 null 출력 가능) 조인의 기준(driving) 테이블의 조건은 on/where 어디든 동일 하지만 조인 대상 테이블의 조건은 on에 작성되어야 원하는 결과를 볼수 있다. ( where 절은.. 2020. 2. 14. MSSQL 범위 지정하여 가져오기 테이블의 데이터를 N번째 레코드에서 N+ 번째 까지 가져오고자 할 때 아래 쿼리로 수행하면 결과를 받아올 수 있습니다. SELECT * FROM 테이블 ORDER BY (SELECT NULL) OFFSET [시작] ROWS FETCH NEXT [끝] ROWS ONLY; 사용예시 SELECT * FROM INFORMATION_SCHEMA.COLUMNS ORDER BY (SELECT NULL) OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY; SELECT * FROM INFORMATION_SCHEMA.COLUMNS ORDER BY (SELECT NULL) OFFSET 5 ROWS FETCH NEXT 15 ROWS ONLY; 결과 2020. 2. 7. MSSQL TO MYSQL 데이터 포팅시 NULL 처리 ISSUE. MSSQL BCP 로 데이터를 내린 후 MYSQL로 포팅 시 NULL 값에 대한 별도 처리 필요 해결. MSSQL 상에서 컬럼을 ISNULL 처리하여 MYSQL로 포팅 TIP. MSSQL 로 BCP한 데이터에 ISNULL(컬럼, '\N') 으로 처리하고 MYSQL로 포팅 시 MYSQL에서 NULL로 인식 함 단계 1. 테이블 정보를 읽어와서 ISNULL을 포함한 쿼리 구문을 생성한다. DECLARE @TABLE NVARCHAR(MAX) DECLARE @QUERY NVARCHAR(MAX) DECLARE @QUERY_S NVARCHAR(MAX) SET @TABLE = 'temp' SET @QUERY = 'SELECT ' SELECT @QUERY_S = S FROM (SELECT TOP 1 STU.. 2020. 2. 7. [MSSQL] TSQL 영문 대소문자 구분 비교 문자열 비교 유형을 지정해서 비교 할 수 있습니다. Korean_Wansung_CS_AS : 대소문자 구분 Korean_Wansung_CI_AS : 대소문자 구분 안함 COLLATE 기본은 대소문자 구분 안함으로 설정됩니다. 사용 방법은 비교하고자하는 조건 데이터(또는 컬럼)에 COLLATE 키워드를 붙여 아래와 같이 사용합니다. 예시 select case when 'AT/센터(/양재동)' = 'aT/센터(/양재동)' COLLATE Korean_Wansung_CS_AS then 1 else 0 end 결과 1 문자열 내 소문자가 포함되어있는지 검색 declare @STR varchar(100) set @STR = 'aT/센터(/양재동)' select case when @STR UPPER( @STR) CO.. 2020. 1. 16. 이전 1 ··· 13 14 15 16 17 18 19 ··· 21 다음