반응형
반응형

 

CROSS APPLY 와 INNER JOIN

CROSS APPLY 와 INNER JOIN 은 동일한 의미를 지니게 됩니다.

아래 3개의 쿼리를 실행하고 나온 결과값을 확인해 보겠습니다.

SELECT * FROM FIRST_TABLE FT CROSS APPLY APPLY_FUNCTION(FT.C1)


SELECT * FROM FIRST_TABLE FT CROSS APPLY ( SELECT * FROM SECOND_TABLE ST WHERE ST.C1 = FT.C1 ) ST
 

SELECT * FROM FIRST_TABLE FT INNER JOIN SECOND_TABLE ST ON ST.C1 = FT.C1



OUTER APPLY 와 LEFT OUTER JOIN

OUTER APPLY 와 LEFT OUTER JOIN 역시 동일한 의미를 지니게 됩니다.

SELECT * FROM FIRST_TABLE FT OUTER APPLY APPLY_FUNCTION(FT.C1)



SELECT * FROM FIRST_TABLE FT OUTER APPLY ( SELECT * FROM SECOND_TABLE ST WHERE ST.C1 = FT.C1 ) ST



SELECT * FROM FIRST_TABLE FT LEFT OUTER JOIN SECOND_TABLE ST ON ST.C1 = FT.C1

반응형
반응형

update select 로 json data 변경하기

 

json_value, json_modify

-- update select 로 json data 변경하기 

 UPDATE AA  SET 
        AA.컬럼1 = JSON_MODIFY(BB.컬럼1,'$.must.title_inner',JSON_VALUE(BB.컬럼1, '$.must.title'))  
   from Table01 AS AA, Table01 AS BB 
  where BB.key = AA.KEY 
    

위 update문 옆에는 Alias로 배치하고 나머지 쿼리를 해보면 된다. 

 

일단 update 전에 select로 데이터 테스트는 필수!!!

 

잘못하면 훅! 간다~ 

반응형
반응형

기본 함수를 사용하여 JSON 데이터 유효성 검사, 쿼리, 변경(SQL Server)

SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) > 0 

https://docs.microsoft.com/ko-kr/sql/t-sql/functions/isjson-transact-sql?view=sql-server-ver15 

 

ISJSON(Transact-SQL) - SQL Server

ISJSON(Transact-SQL)

docs.microsoft.com

 

반응형
반응형

[PostgreSql] 버전 확인, 확장프로그램 확인 

 

select version();
select * from pg_available_extensions;
반응형
반응형

기본키 자동증가 설정하기 

 

 

최근 버전

 

ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;

 

 

예전 버전 

 

 

1. 시퀀스를 생성한다. 

 

 

create sequence sequence_name owned by tablename.columname;

 

 

2. 기본키의 기본 값 수정

 

 

기본 키의 기본값에 nextval('sequence_name'::regclass) 를 추가한다. 

 

alter table test alter column id set default nextval('sequence_name');



출처: https://kugancity.tistory.com/entry/postgresql-의-기본키-자동-증가 [you've got to find what you love.]

반응형
반응형

적용 대상: 

SQL Server 2016(13.x) 이상

FOR JSON 절의 JSON 출력에 null 값을 포함하려면 INCLUDE_NULL_VALUES 옵션을 지정합니다.

INCLUDE_NULL_VALUES 옵션을 지정하지 않은 경우 JSON 출력은 쿼리 결과에서 null인 값에 대한 속성을 포함하지 않습니다.

예제

다음 예제에는 INCLUDE_NULL_VALUES 옵션을 사용한 경우와 사용하지 않은 경우 FOR JSON 절의 출력이 나와 있습니다.

예제INCLUDE_NULL_VALUES 옵션을 사용하지 않는 경우INCLUDE_NULL_VALUES 옵션을 사용하는 경우

{ "name": "John", "surname": "Doe" } { "name": "John", "surname": "Doe", "age": null, "phone": null }

아래에는 INCLUDE_NULL_VALUES 옵션을 사용한 FOR JSON 절의 다른 예제가 나와 있습니다.

SELECT name, surname  
FROM emp  
FOR JSON AUTO, INCLUDE_NULL_VALUES    
[{
    "name": "John",
    "surname": null
}, {
    "name": "Jane",
    "surname": "Doe"
}] 

 

 

 

docs.microsoft.com/ko-kr/sql/relational-databases/json/include-null-values-in-json-include-null-values-option?view=sql-server-ver15

반응형

+ Recent posts