DB 27

SQL Join

매번, Join 데이터 구성이 어떻게 되더라.. 기억이 가물 가물 한데, 스택오버플로우에 좋은 그림이 있어서 가져왔다. 사실 left join, inner join 제외 하고 잘 안써본듯.. https://stackoverflow.com/questions/3308122/how-do-i-decide-when-to-use-right-joins-left-joins-or-inner-joins-or-how-to-dete How do I decide when to use right joins/left joins or inner joins Or how to determine which table is on which side? I know the usage of joins, but sometimes I come ac..

DB 2024.02.06

CURRENT_TIMESTAMP를 default로 셋팅시 datagrip 오류

create table issue ( id bigint auto_increment, amount decimal(19, 2) not null, created_at timestamp not null, modified_at timestamp not null, constraint issue_pk primary key (id) ); 위와 같이 테이블을 구성하고 테스트를 해본다. created_at 컬럼에 빈값으로 넣어도 현재 시간을 저장하고 싶어졌을때, default 값을 넣어주어야 한다. 그런데, timestamp 타입의 컬럼에 default 값을 넣을때 문제가 생긴다! [42000][1064] You have an error in your SQL syntax; check the manual that corre..

DB/MySQL 2023.02.16

[HY000][1093] You can't specify target table 'XXX' for update in FROM clause

[HY000][1093] You can't specify target table 'order_item' for update in FROM clause 위와 같은 오류가 발생 했다. DELETE from order_item WHERE id in ( SELECT * FROM order_item WHERE item_id IN( '1','2','3','4','5' ) ); 쿼리를 위와 같았다. MySQL에서는 아래처럼 조회한 Sub-Query의 결과를 임시 테이블로 만들어 주어야 한다. Oracle과 다른 점이 같은 table 참조가 직접적으로 불가하다. (Update, Delete 쿼리에 해당한다.) DELETE from order_item WHERE id in ( SELECT id FROM ( SELECT ..

DB/MySQL 2023.02.01

Oracle To PostgreSQL 작업 하다 배운것

nvl => COALESCE으로 대체 nvl 함수는 null이면, 다른값으로 치환 해주는 함수이다. 오라클에서는 정말 잘 쓰이지만, postgresql에서는 해당 함수가 없다. COALESCE이란 함수가 있기에 대체가 가능하다. decode => CASE WHEN 으로 대체 오라클에서 자주 사용하는 조건문 함수 decode가 postgresql에는 없다. CASE WHEN [COLUMN] IS NULL THEN 'N' ELSE [COLUMN] END AS [COLUMN]형태로 바꿔서 사용이 가능하다. 날짜 값에서 특정 시간 만큼 빼기 - mybatis에서 파라미터로 넘겨줄 때 처리 보통 오라클에서 쓸때는 아래처럼 사용 했다. (SYSDATE - 60/60/24) 이걸 mybatis로 바꾸면..

DB/Postgresql 2022.04.15

[정리] MongoDB - Data Modeling

Data Modeling네임 스페이스MongoDB에서는 데이터 베이스의 이름과 컬렉션의 이름 조합을 네임스페이스라고 한다. 네임 스페이스와 컬렉션의 이름 사이에는 .으로 구분해야 한다. 컬렉션 뿐만 아니라 인덱스도 자신만의 네임스페이스를 가질 수 있으며, 인덱스의 네임 스페이스는 컬렉션의 네임스페이스에 추가로 인덱스 이름을 붙인 형태이다. 예시) shop.user.$ix_catalog_nvMidMMAPv1 스토리지 엔진에서는 데이터베이스 별로 네임스페이스의 목록을 저장하는 네임 스페이스 파일이 생성 되는데, 이 파일의 최대 크기는 2GB이다. 각 네임 스페이스는 120바이트를 넘어 설 수 없으며, 데이터 베이스 이름과 컬렉션 이름의 합이 120바이트 이상의 문자열로 생성 될 수 없다. 기본으로 생성 되는..

DB/MongoDB 2018.10.20

Database - 기초 ( 정보처리 기사 )

Database 기초데이터 모델 및 데이터베이스 설계데이터 모델링 과정 개체 정의 : 현실 세계에서 개체를 찾아 정의하는 단계식별자 정의 : 각각의 개체를 식별하기 위해 특성화하는 단계상세화 : 각각의 개체를 구체화하는 단계통합 : 개체와 개체 사이의 관련성을 파악하여 전체를 통합하는 단계검증 : 실체 맞는지를 검증하는 단계정보 모델링 과정 정보 모델링 현실 세계에서 개체 요소를 추상화시켜 개체 타입을 만든 다음, 이 개체 타입과 개체 타입의 관련성을 가지고 현실 세계에 있는 그대로 사람이 이해할 수 있는 형태의 정보 구조로 만들어 가는 과정데이터 모델링 정보 모델링 과정에서 생성된 정보 구조를 컴퓨터 이해할 수 있는 형태의 논리적 구조로 만들어 가는 과정모델링 단계 현실 단계개념적 단계논리적 단계데이터..

DB 2016.04.26
반응형