본문 바로가기

DBMS/MySQL3

[MySQL] rownum, 역순 출력 https://developer-jjun.tistory.com/23 [MySQL] ROWNUM을 사용하여 번호매기기 MySQL에서 Oracle처럼 ROWNUM 사용법 SET구문을 사용하여 ROWNUM 값을 초기화 후 조회 SET @rownum:=0; SELECT @rownum:=@rownum+1, b.* FROM buyingboard b WHERE절에서 초기화 SELECT @rownum:=@rownum+1, b.*.. developer-jjun.tistory.com rownum을 역순으로 매기는 방법 1. 서브쿼리를 이용해서 ROWNUM을 부여한다. 2. 서브쿼리의 바깥쪽에서 ROWNUM을 다시 정렬한다. ROWNUM을 서브쿼리에서 역순으로 설정해준 후 (마지막에 출력하고 싶은 행이 마지막 번호가 되게).. 2022. 8. 22.
[MySql] SELECT 결과 UPDATE / NULL인 경우 mybatis에서 0 혹은 특정 값 UPDATE 시키기 SELECT 한 결과를 UPDATE 할 수 있는데, 두가지 방법이 있다. 1. WHERE절 이용 WHERE 절의 조건이 일치하는 t1의 COLUMN1이 모두 t2테이블의 COLUMN2로 업데이트 된다. UPDATE [테이블명1] as t1 , [테이블명2] as t2 SET t1.COLUMN1 = t2.COLUMN2 WHERE t1.COLUMN3 = t2.COLUMN4 ; 2. JOIN 이용 JOIN절에 SELECT구문을 이용해 조회해온 결과를 UPDATE한다. UPDATE [테이블1] INNER JOIN ( SELECT COLUMN2 FROM [테이블2] WHERE ... ) AS [테이블2] ON [테이블1].COLUMN3 = [테이블2].COLUMN4 SET [테이블1].COLUMN1 = [테이블2.. 2022. 8. 11.
[MySql] 값이 있으면 INSERT, 없으면 UPDATE / PK 중복시 업데이트 구문 / ON DUPLICATE KEY UPDATE 서칭중 MySql 속도를 위한 메모를 봤는데 ON DUPLICATE KEY UPDATE 사용을 권장한다. : 데이터 삽입 시, PK나 UNIQUE KEY가 중복인 경우 UPDATE 하는 구문(중복이 아니면 INSERT) Oracle의 MERGE INTO와 유사하게 DB에 해당row 가 없으면 INSERT, 있으면 UPDATE 와 같이 역할을 나눌 수 있다. SELECT 구문을 이용해서 코드가 있으면 업데이트 하고 없으면 인서트 하는 코드ㄴㄴ - 서버에 불필요하게 왔다갔다 하지 않아도 된다. 구문 INSERT INTO member (name, age, cnt) VALUES ('kim', 26, 0) ON DUPLICATE KEY UPDATE age = age -1, cnt = cnt + 1; ON DUPL.. 2022. 7. 5.