# JSON 값 넣기 : https://minaminaworld.tistory.com/133
# 테이블 구조
- index : 인덱스 값 - 형식serial,
- stuName : 학생 이름 - varchar ,
- stuGrade : 학생 학년 - varchar,
- stuInfo : 학생 정보 - json
-- Drop table
-- DROP TABLE "testGroup".teststudentinfo;
CREATE TABLE "testGroup".teststudentinfo (
"index" serial NOT NULL,
"stuName" varchar NULL,
"stuGrade" varchar NULL,
"stuInfo" json NULL
);
-- Permissions
ALTER TABLE "testGroup".teststudentinfo OWNER TO postgres;
GRANT ALL ON TABLE "testGroup".teststudentinfo TO postgres;
# 학생 중에서 address가 '인천광역시'인 사람.
-- # ->> 표시를 통해서 json 내부의 값을 비교할 수 있다.
select * from "testGroup".teststudentinfo as t where t."stuInfo"->>'address' = '인천광역시';
# 전체 학생들의 학년과 주소만을 표시
select "index" as index, "stuName" as name, "stuInfo"->'address' as Address from "testGroup".teststudentinfo as t ;
# 학생들 중 json 값중 specific 키 값이 없는 사람들
select * from "testGroup".teststudentinfo as t where t."stuInfo" ->> 'specific' is null;
# 학생 중에 preUnivercity 값을 갖고 있는 사람 중에 경영학과인 사람
select * from "testGroup".teststudentinfo as t where t."stuInfo" -> 'preUnivercity' ->> 'major' = '경영학과';
'[데이터베이스]' 카테고리의 다른 글
[PostgreSQL] ERROR: 오류 "C:/Program Files/PostgreSQL/10/lib/rtpostgis-2.4.dll" 라이브러리를 불러 올 수 없음: The specified module could not be found. (0) | 2021.10.07 |
---|---|
[DB] postgreSQL json - update 하기 (0) | 2019.10.16 |
[DB] postgreSQL json - insert 하기 (0) | 2019.10.16 |
[데이터베이스] 데이터를 한줄로 합치기 group_concat 함수 사용 (0) | 2018.06.22 |
[데이터베이스] DAO : Data Access Object (0) | 2018.05.04 |