🤸♂️서론 예전에 @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 ..
- 첫 작성일 : 21년 1월 10일 velog 블로그 🕶 서론 ('~이다'로 끝내는 것은 글을 편하게 쓰기 위해서이니 양해바랍니다.) 이 글은 postgresql 문법으로 작성되었지만 다른 sql에서도 주의해야 할 사항이다. 회사에서 COUNT를 사용하다가 생각했던 값과 다르게 나오는 것을 발견되었다. 과장님께서 간단하게 해결책을 제시해주셨고, 그 방법을 기록할 생각이다. 🎃 count COUNT 란 해당하는 조건(없어도 가능)에 원하는 컬럼 값이 존재하는지 확인하여 존재하는 것의 총 개수를 확인하는 문법이다. 위 테이블에서 contents에 내용이 있는 것들의 개수를 알아보기 위해 COUNT를 사용한다. 내가 원하는 답은 값이 들어있는 것의 합인 '6'을 원한다. 8???? 결과는 생각과는 다르게 8..
특정 컬럼만 혹은 특정 컬럼만 제외하고 보고 싶을 때엔 IN / NOT IN / EXISTS / NOT EXISTS 이런 명령어를 사용하여 하곤 합니다. 위와 같은 명령어들은 하나의 테이블에서도 가능하고, 두 개의 테이블에서도 사용이 가능합니다. 하지만! 속도면에 있어서 두 개 이상의 테이블에서 사용할 경우 별로 좋지 않기에 JOIN을 통해서 해결하시는 방법을 추천드립니다. --- 1. 간단하게 생각했을 때에 개념잡기! IN / EXISTS => 조건에 부합하는 결과를 찾습니다. NOT IN / NOT EXISTS => 조건에 부합하는 결과를 제외시킵니다. 2. 그래도 둘의 차이점은? IN : 서브쿼리를 먼저 검색 -> 결과 목록 형성 -> 쿼리에서 하나하나씩 리스트 요소에 부합하는지 찾기 EXISTS ..
첫 번째 테이블은 조건과 관계없이 모두 결합된다. 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..