'MySQL' 태그의 글 목록 — SH's Devlog

MySQL

코딩테스트/DB

[MySQL] 프로그래머스 입양 시각 구하기(2) (SET, WITH RECURSIVE)

풀이1. SET @hour := -1; SELECT (@hour := @hour + 1) AS HOUR, (SELECT Count(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @hour) AS COUNT FROM ANIMAL_OUTS WHERE @hour < 23 풀이2. WITH RECURSIVE HOUR AS( SELECT 0 AS h UNION ALL SELECT h+1 FROM HOUR WHERE h

코딩테스트/DB

[MySQL] DATETIME 날짜 차이 구하기(DATEDIFF 함수)

SELECT A.ANIMAL_ID, A.NAME, DATEDIFF(B.DATETIME, A.DATETIME) FROM ANIMAL_INS A INNER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID ORDER BY DATEDIFF(A.DATETIME, B.DATETIME) ASC LIMIT 2 DATEDIFF를 사용하면 날짜 차이의 일수만큼의 값이 결과로 나온다.

코딩테스트/DB

[MySQL] MySQL 테이블 조인(Inner Join, Outer[Left, Right] Join)

조인이란? 두개 이상의 테이블을 결합하여 데이터를 출력하는 방법. 보통 Primary key혹은 Foreign key로 두 테이블을 연결합니다. 테이블을 연결하려면 적어도 하나의 칼럼은 서로 공유되고 있어야합니다. -> 두개의 다른 테이블에서 ON 조건절을 통해 만들어진 컬럼과 두개의 테이블이 별칭을 통해 생성된 컬럼이 있는 하나의 테이블을 상상하시면 쉽게 이해가 되실겁니다. Inner Join 한국말로는 내부조인이라고도 말을 하며 JOIN 조건에서 동일한 값이 있는 행만을 출력합니다. INNER JOIN 은 WHERE 절에서 사용하던 JOIN 조건을 FROM 절에서 정의하겠다는 의미이므로 USING 이나 ON 절을 필수적으로 사용해야 합니다. Left Outer Join A테이블을 기준으로 조인하고 싶..

코딩테스트/DB

[MySQL] MySQL IF, Case 조건 (프로그래머스 중성화 여부 파악하기)

IF 문 형식 : if ( 조건문, 참일때 값, 거짓일때 값) EX) select member_id, if ( isnull(birthday), '-', birthday ) from member 설명 - 멤버 테이블에서 아이디(member_id) 와 생일을 뽑는데 null 일경우는 - 를 출력, 아니면 생일을 출력 Case 문 형식 : case (조건 또는 값) when 값1 then 표시값 when 값2 then 표시값 else 표시값 end EX) select case a when '1' then a when '2' then b else c end from table_name 설명 - a 값이 '1'이면 a, '2' 이면 b, 둘다 아닐경우 c 를 출력 ifnull문 형식 : ifnull ( 값1, 값..

코딩테스트/DB

[MySQL] 컬럼의 최소 값, 최대값 가져오기(min, max 함수, 서브쿼리)

문제. Product 테이블에서 price의 값이 가장 작은 필드의 product_id, price 값을 하나만 출력해보자 풀이1. min 함수 SELECT product_id,min(price) FROM product_table; 풀이2. 서브쿼리 2-1. ORDER BY와 LIMIT을 이용 SELECT product_id, price FROM product_table WHERE price = (SELECT price FROM product_table ORDER BY price ASC LIMIT 1) LIMIT 1 2-2. 서브쿼리에서 min을 이용 SELECT product_id, price FROM product_table WHERE price = (SELECT min(price) FROM prod..

코딩테스트/DB

[MySQL] MYSQL 조건절의 조합(AND/OR/NOT/IN)

예제 테이블(Product) SELECT * FROM product_table; AND SELECT * FROM product_table WHERE name = 'TV' AND manufacturer = 'Samsung'; 풀이: Product 테이블에서 name의 값이 'TV'이고 manufacturer의 값이 'Samsung'인 필드들을 조회한다. OR AND 연산자와 정 반대의 개념인 OR 연산자는 여러가지 조건에서 하나 이상의 조건이 만족되면 데이터를 출력한다. SELECT * FROM product_table WHERE manufacturer = 'Samsung' OR manufacturer = 'Apple';..

반응형
seunghwaan
'MySQL' 태그의 글 목록