'데이터 분석/[SQL] 기초' 카테고리의 글 목록
728x90

데이터 분석/[SQL] 기초 12

[databricks SQL] array 내에 특정 문자열 포함된 row 가져오기

array 안에 string 중에 특정 문자열이 포함되어있는지? ID name a ["운전연수"] b ["자동차","운전"] c ["영어","일본어"] name컬럼에 "운전"이 포함된 행만 가져오기 explode 함수와 like 함수 활용하기 SELECT id, name FROM table ( SELECT id, name, explode(name) as a FROM table ) where a like '%운전%' 만약, 정확히 일치하는 경우여도 상관없다면 (예:["운전"]) array_contains 함수 활용 array_contins(name, '운전')

[databricks SQL] array_agg / explode 그룹별로 array만들거나 row로 풀기

ID ITEM A apple A banana B banana B lemon output example ID ITEM2 A ["apple", "banana"] B ["banana", "lemon"] SELECT ID, array_agg(ITEM) as ITEM2 FROM your_table GROUP BY ID 혹은 다시 원래대로 array를 풀기 SELECT EXPLODE(ITEM2) FROM your_table 만약 array형태가 아닌 문자가 ','로 붙여진 상태를 풀고싶은 경우? example ID ITEM2 A apple,banana output ID ITEM2 A apple A banana select ID, explode(split(trim(BOTH ',' FROM ITEM2), ',')) F..

[SQL] 데이터 삭제하기(drop/delete/truncate)

drop 데이터베이스에서 테이블을 완전 삭제하는 DDL(Data DefinitionLanguage) 명령어 조건절을 쓸 수 없다. drop table 테이블명 deletewhere 조건절을 통해서 해당하는 행(row)를 삭제할 수 있는 DML(Data Manipulation Language) 명령어delete from 테이블명 where truncatedelete와 비슷하게 행(row)을 삭제할 수 있지만 조건절을 사용할 수 없는 DDL 명령어 행을 삭제하지만 테이블 구조는 유지된다truncate table 테이블명

표준 SQL 문법

1) SELECT SELECT * FROM 데이터베이스명.테이블명; SELECT 컬럼명1, 컬럼명2, ... FROM 데이터베이스명.테이블명; *(Asterisk, 아스터리스크)는 모든 컬럼을 지칭 2) WHERE SELECT * FROM 데이터베이스명.테이블명 WHERE 조건식; SELECT * FROM 데이터베이스명.테이블명 WHERE 조건식1 AND 조건식2; SELECT * FROM 데이터베이스명.테이블명 WHERE 조건식1 OR 조건식2; ... 3) GROUP BY 그룹별 특정 컬럼에 대해 원하는 집계값을 보여줌 GROUP BY 하지 않은 컬럼을 SELECT하면 오류가 남(집계는 상관없음) SELECT 컬럼명1, SUM(컬럼명2) FROM 데이터베이스명.테이블명 GROUP BY 컬럼명1; 집계..