⚙️ 개발/MySQL

EXISTS 뒤에 서브쿼리가 따라오는 구조로 하나의 행이 리턴되면 메인 쿼리의 조건문은 TRUE를 반환하고,서브쿼리에서 어떠한 행도 리턴하지 못하면 메인쿼리 조건문은 FALSE를 반환한다.이때 주의점은 서브쿼리가 NULL를 리턴하더라도 메인쿼리의 조건문 결과는 TRUE이다. (NULL이라는 행을 리턴했기에) 회원 정보가 있는 MEMBER 테이블과 결제 정보가 있는 PAYMENT 테이블이 있다고 가정한다.전체 회원에서 구매갯수가 10개 이상인 정보를 조회할 때 다음과 같이 EXISTS를 사용할 수 있다.메인 쿼리에서 MEMBER 테이블의 각 MEMBER_ID마다 서브쿼리 결과가 TRUE 또는 FALSE인지 여부를 조회한다.SELECT MEMBER_IDFROM MEMBER MWHERE EXISTS ( S..
데이터를 조회하면 다음과 같다.SELECT HIST_NO, USER_NO, UPDT_DTM FROM TB_EXAMPLE 조회 데이터에서 USER_NO별로 최신 데이터 1개씩만 뽑아서 조회하고 싶은 경우 MAX를 활용해서 데이터 조회SELECT MAX(HIST_NO)AS HIST_NO, USER_NO, UPDT_DTMFROM TB_EXAMPLEGROUP BY USER_NO DESCSELECT HIST_NO, USER_NO, UPDT_DTM FROM TB_EXAMPLEWHERE HIST_NO IN ( SELECT MAX(HIST_NO)AS HIST_NO FROM TB_EXAMPL..
여러 건의 데이터를 INSERT 또는 SELECT 해야할 때 FOREACH문을 활용하면 된다.SELECT *FROM TB_MEMBERWHERE #{no} ;INSERT INTO MEMBER ( ID, NAME, AGE) VALUES ( #{member.id}, #{member.name}, #{member.age} );
INSERT할 때 PK 또는 UK로 중복되는 값이 있을 경우에 INSERT가 아닌 지정된 컬럼, 지정된 값을 UPDATE하도록 하는 명령어이다./* PK = ID */INSERT INTO TB_MEMBER( ID, NAME, AGE) VALUES ( #{id}, #{name}, #{age}} ON DUPLICATE KEY UPDATE name = #{name}, age = #{age};
MySQL에서 두 함수는 날짜와 관련된 정보를 추출하는데 사용된다.두개의 차이점은 날짜에 해당하는 값이 다르다. DATE_FORMAT 함수는 1(일요일), 2(월요일) ~ 7(토요일)까지의 값을 가진다.반면 WEEKDAY 함수는 0(월요일), 1(화요일) ~ 6(일요일)까지의 값을 가진다.WHEN DAYOFWEEK(DATE_FORMAT(NOW(), '%Y%m%d')) = 1 THEN SUM(MON_LIMIT)
MySql에서 특정 시간을 기준으로 더하거나 빼야 하는 경우가 있다.이때 사용하는 함수가 DATE_ADD, DATE_SUB이다. DATE_ADD 기준 날짜에 입력된 기간만큼을 더하는 함수DATE_ADD(기준 날짜, INTERVAL) DATE_SUB 기준 날짜에 입력된 기간만큼을 빼는 함수DATE_SUB(기준 날짜, INTERVAL)
지구용사
'⚙️ 개발/MySQL' 카테고리의 글 목록