Data Engineering/MySQL & Oracle
-
[프로그래머스 MySQL,Oracle] - 이름에 el이 들어가는 동물 찾기Data Engineering/MySQL & Oracle 2021. 6. 28. 20:44
[프로그래머스 String - 이름에 el이 들어가는 동물 찾기] MySQL *헷갈린 이유: "개의 아이디와 이름" 조건을 생각하지 못했다. → 테이블의 ANIMAL_TYPE에는 Dog, Cat이 존재함을 고려해줘야 한다. SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME LIKE '%EL%' AND ANIMAL_TYPE='Dog' ORDER BY NAME Oracle → 오라클에서는 대소문를 구분하지 못한다. 그러므로 NAME을 대문자 또는 소문자로 바꿔서 비교해줘야 한다. SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE LOWER(NAME) LIKE '%el%' AND ANIMAL_TYPE='Dog' -- WHERE UPPER(N..
-
[프로그래머스 MySQL,Oracle] - 루시와 엘라 찾기Data Engineering/MySQL & Oracle 2021. 6. 28. 19:47
프로그래머스 코딩테스트 연습을 통해 String, Date 문자형을 처리하는 방법을 알아보자. 프로그래머스 String - 루시와 엘라 찾기 MySQL, Oracle SELECT ANIMAL_ID AS ANIMAL_ID, NAME AS NAME, SEX_UPON_INTAKE AS SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') ORDER BY ANIMAL_ID → MySQL, Oracle에서 모두 IN 조건을 사용해주면 된다.
-
[프로그래머스 MySQL,Oracle] - 보호소에서 중성화한 동물Data Engineering/MySQL & Oracle 2021. 6. 28. 17:26
[프로그래머스 JOIN - 보호소에서 중성화한 동물] (MySQL) *방법: ANIMAL_INS 기준으로 조인을 해주고, 중성화 여부가 다른 컬럼을 선택한다. SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME FROM ANIMAL_INS A LEFT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID=B.ANIMAL_ID WHERE A.SEX_UPON_INTAKE!=B.SEX_UPON_OUTCOME ORDER BY A.ANIMAL_ID (Oracle - JOIN 사용) *사실 Oracle과 MySql이 많은 차이가 있는 것은 아니다. 그래서 Oracle에서 (+) 조인 조건을 한번 사용해보았다. SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME ..
-
[프로그래머스 MySQL,Oracle] - 오랜 기간 보호한 동물Data Engineering/MySQL & Oracle 2021. 6. 27. 01:20
맨 위에서부터 n개를 추출할 때 사용하는 LIMIT, ROWNUM를 구분할 수 있어야 한다. [ 프로그래머스 - 오랜 기간 보호한 동물(1) ] (마지막 문장) ANIMAL_ID는 ANIMAL_INS의 ANIMAL_ID의 외래 키 입니다. ➔ ANIMAL_ID가 기본키이면서 외래키라는 의미이다. ➔ WHERE 조건문에서 ANIMAL_ID를 사용해야 한다. MySQL (LIMIT 사용) SELECT A.NAME, A.DATETIME FROM ANIMAL_INS A LEFT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID=B.ANIMAL_ID WHERE B.ANIMAL_ID IS NULL ORDER BY A.DATETIME LIMIT 3 LEFT OUTER JOIN = LEFT JOIN (아무거..
-
[프로그래머스 MySQL,Oracle] 있었는데요 없었습니다Data Engineering/MySQL & Oracle 2021. 6. 26. 23:12
INNER JOIN을 사용하는 방법에 대해 알아보겠다. [ 프로그래머스 - 있었는데요 없었습니다 ] MySQL SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_INS A INNER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID=B.ANIMAL_ID WHERE A.DATETIME>B.DATETIME ORDER BY A.DATETIME SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_INS A JOIN ANIMAL_OUTS B ON A.ANIMAL_ID=B.ANIMAL_ID WHERE A.DATETIME>B.DATETIME ORDER BY A.DATETIME INNER JOIN과 JOIN 은 동일하다! 아무거나 사용해도 된다. 단, ON을 반드시 사용..