DataBase

DataBase

[PostgreSQL] CLOB타입과 TEXT타입 - JPA

🤸‍♂️서론 예전에 @Lob 에러 관련 글을 적은 적이 있다. 당시에는 postgresql에서 @Lob을 아예 사용할 수 없는 줄 알고 @Column(columnDefinition="TEXT") 사용을 무조건 해야 한다고 알고 있었지만 최근에 틀렸단 것을 깨닫고 글을 작성한다. 🙋‍♂️LOB? CLOB? 그게 일단 뭐야! 간단하게 알려줘!! LOB - Large Objcts ------------ CLOB - Character LOBs : DB 내부에 존재하는 대용량의 텍스트 BLOB - Binary LOBs : Image, Sound, Video 등의 대용량의 DB내부에 존재하는 데이터 NCLOB - National Character LOBs : DB 내부에 존재하는 대용량의 내셔널 텍스트 BFILE ..

DataBase

[PostgreSQL]COUNT 사용 시 주의

- 첫 작성일 : 21년 1월 10일 velog 블로그 🕶 서론 ('~이다'로 끝내는 것은 글을 편하게 쓰기 위해서이니 양해바랍니다.) 이 글은 postgresql 문법으로 작성되었지만 다른 sql에서도 주의해야 할 사항이다. 회사에서 COUNT를 사용하다가 생각했던 값과 다르게 나오는 것을 발견되었다. 과장님께서 간단하게 해결책을 제시해주셨고, 그 방법을 기록할 생각이다. 🎃 count COUNT 란 해당하는 조건(없어도 가능)에 원하는 컬럼 값이 존재하는지 확인하여 존재하는 것의 총 개수를 확인하는 문법이다. 위 테이블에서 contents에 내용이 있는 것들의 개수를 알아보기 위해 COUNT를 사용한다. 내가 원하는 답은 값이 들어있는 것의 합인 '6'을 원한다. 8???? 결과는 생각과는 다르게 8..

DataBase

[SQL]IN / NOT IN / EXISTS / NOT EXISTS 은 어떻게 쓰는걸까?

특정 컬럼만 혹은 특정 컬럼만 제외하고 보고 싶을 때엔 IN / NOT IN / EXISTS / NOT EXISTS 이런 명령어를 사용하여 하곤 합니다. 위와 같은 명령어들은 하나의 테이블에서도 가능하고, 두 개의 테이블에서도 사용이 가능합니다. 하지만! 속도면에 있어서 두 개 이상의 테이블에서 사용할 경우 별로 좋지 않기에 JOIN을 통해서 해결하시는 방법을 추천드립니다. --- 1. 간단하게 생각했을 때에 개념잡기! IN / EXISTS => 조건에 부합하는 결과를 찾습니다. NOT IN / NOT EXISTS => 조건에 부합하는 결과를 제외시킵니다. 2. 그래도 둘의 차이점은? IN : 서브쿼리를 먼저 검색 -> 결과 목록 형성 -> 쿼리에서 하나하나씩 리스트 요소에 부합하는지 찾기 EXISTS ..

DataBase

left outer join ?

첫 번째 테이블은 조건과 관계없이 모두 결합된다. SELECT [열 목록] FROM [첫 번째 테이블] LEFT OUTER JOIN [두 번째 테이블] ON [조인될 조건] WHERE [검색 조건] 예시) select a.* , b.device_id from simple_check_list a left outer join (select * from simple_device_check where device_id = #{deviceId}) b on b.check_list_id = a.check_list_id where a.device_type_id = #{deviceTypeId} ------------------------------------------------------ select a.* , b.d..

Hyo Kim
'DataBase' 카테고리의 글 목록 (2 Page)