빅쿼리에서 제이슨 타입으로 들어간 데이터를 조회할 수 있다.
countif(cast(json_extract_scalar(json형식컬럼이름, '$.json_key') as type) < 숫자) as 별칭
목적격조사
https://www.korean.go.kr/front/onlineQna/onlineQnaView.do?mn_id=216&qna_seq=35785
limit n offset m 출력하는 행의 개수는 n개 m행 부터
order by 컬럼명 limit N
offset은 0부터 시작 3이면 4행부터
fetch는 행의 수를 한정하는 역할을 한다. 부분 범위 처리시 사용됨
select * from table_name fetch first N row only
limit하고 차이 없음 그냥 쓰고싶은거 쓰면 됨
in연산자
특정 집합(컬럼 혹은 리스트)에서 특정 집합 혹은 리스트가 존재하는지 판단하는 연산자.
select from table_name where coulumn_name in (value1,value2)
select from table_name where coulumn_name in (서브쿼리)
in안에 조건은 or과 같다. OR 하지않고 쓰는 이유는 가독성, 알아보기 쉽고 옵티마이저 특성상 IN이 나음.
not in (1,2) 이면 1,2 모두 아닌것
<> 는 != 과 같음
where cast ( coulumn_name as date) = '2005-05-07'
컬럼을 데이트 타입으로 형변환 후 비교 하는 것.
between 연산자
특정 집합에서 어떠한 컬럼의 값이 특정 범위안에 들어가는 집합을 출력하는 연산자이다.
select * from table_name where column_name between value_a and value_b
컬럼의 값이 벨류a와 벨류b 사이에 있는 집합을 출력한다.
select * from table_name where column_name not between value_a and value_b
컬럼의 값이 value_a와 value_b 사이에 있지 않은 집합을 출력한다.
즉 컬럼의 값은 value_a보다 작거나 혹은 value_b보다 크다.
컬럼 < 밸류a or 컬럼 > 밸류b
like
not like도 있음
%와 사용 가능
는 ?같은 의미
null은 = 로 비교할 수 없기 때문에
is null 혹은 is not null을 쓴다.