[SQL] CTE 란? (WITH 테이블 사용법)
CTE란?CTE 는 공통 테이블 표현식으로 SQL 에서 쿼리를 작성할 때 사용되는 일종의 임시 테이블이다.주로 복잡한 쿼리를 더 간단하고 가독성이 좋게 작성하기 위해 사용된다. WITH 테이블 AS ( 테이블을 사용할 쿼리문); WITH 멤버 AS ( SELECT NAME FROM MEMBER )SELECT * FROM 멤버
CTE란?CTE 는 공통 테이블 표현식으로 SQL 에서 쿼리를 작성할 때 사용되는 일종의 임시 테이블이다.주로 복잡한 쿼리를 더 간단하고 가독성이 좋게 작성하기 위해 사용된다. WITH 테이블 AS ( 테이블을 사용할 쿼리문); WITH 멤버 AS ( SELECT NAME FROM MEMBER )SELECT * FROM 멤버
PostgreSQL 에는 NVL 이 없다. COALESCE 사용NVL 이나 IFNULL 대신 COALESCE 를 사용하면 된다.SELECT coalesce(profile_img,'nothing')FROM member프로필 이미지가 전부 없어서 nothing 으로 나옴 ㅎㅎ.. Redundant code in COALESCE call 발생 경우컬럼이 Not null 은 아닌지 확인해보자. not null 일 경우, null 이 절대 발생하지 않아 두번째 값으로 대체 될 일이 없다.
각각 DB에는 장단점이 있는 것처럼 ... postgreSql 에서는 변수 사용이 복잡하다.MariaDB 는 SET 변수명 으로 간단하게 선언이 가능한데 .. (보러가기 클릭)PostgreSQL 은 그렇지 않다. 콘솔 변수 사용방법여러가지 방법이 있지만, 그나마 간단해 보이는 with 임시 테이블을 사용하는 방법을 설명하겠다. with 변수 as ( select '값' as 변수명 select 'skylar' as vName)select *from 테이블명 where member_name = (select vName from 변수); WITH 사용 예시실제 사용 사례는 다음과 같다.with 변수 as ( select '2411020001' as vGroup_id), this_week AS..
CORS 코드 해결법 1탄 보러가기 https://skylarcoding.tistory.com/128 Network Error (CORS error) 해결방법오류메세지 Network Error AxiosError: Network Error at XMLHttpRequest.handleError (webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:172:14) 위와같은 오류메세지. demo 폴더에 WebConfig.java에다가 아래 코드를 생성해줬skylarcoding.tistory.com CORS 를 다루며 혼자 깨달은건, 보안적인 부분을 위해 해당 spring 프로젝트를 어디서 사용할 지 설정해주는 것이라고 생각하면 될 것 같다. 디버깅 추가우..
쿼리문을 작성하다보면 변수로 받아오는 부분에 실제 데이터를 넣어 테스트해야 한다.해당 변수를 실제 값으로 변경해주면, 테스트 할때마다 해당 값을 바꿔줘야 한다. 변경해야하는 부분이 많을때, ctrl+ R 로 replace 해줘도 되지만 다른 부분이 바뀔 염려도 있고 생각보다 번거롭다.아래와 같이 변수를 설정해주면 변수 값을 바꿀때 한번만 바꿔도 된다. 훨씬 찾기도 쉽고. 해당 console 세션에 잠시 변수를 선언하는 방식이라, 시간이 지나면 풀려서 다시 선언해줘야 한다.해당 콘솔 외에는 사용할 수 없기도 하다. SET @vTEST = 'skylar';SELECT * FROM MEMBERWHERE USER_ID = @vTEST ;
타입이 VARCHAR(20) 인 데이터의 문자열 길이 재는법 count 사용 시 아래와 같은 에러 메세지가 발생한다.count 대신 length 를 사용해주면 된다.SELECT LENGTH(컬럼명) FROM 테이블명