[pro] SQL 고득점 kit 모음 2(IS NULL, JOIN, String/Date)

4086 단어 mysqlsqlmysql

IS NULL

이름이 없는 동물의 아이디

이름이 없는 채로 들어온 동물의 ID를 조회
단, ID는 오름차순 정렬되어야

SELECT
       ANIMAL_ID
  FROM ANIMAL_INS
 WHERE NAME IS NULL # 이름이 없는 동물
 ORDER BY ANIMAL_ID ASC

이름이 있는 동물의 아이디

SELECT
       ANIMAL_ID
  FROM ANIMAL_INS
 WHERE NAME IS NOT NULL
 ORDER BY ANIMAL_ID ASC

NULL 처리하기 by IFNULL(컬럼명, NULL시 값)

IFNULL(컬럼명, NULL 시 값)
해당 컬럼이 비면 뒤에 NULL 시 값을 줘서 조회해줌

SELECT
       ANIMAL_TYPE
     , IFNULL(NAME, "No name")
     , SEX_UPON_INTAKE
  FROM ANIMAL_INS
 ORDER BY ANIMAL_ID ASC

JOIN

없어진 기록 찾기

SELECT 
       B.ANIMAL_ID # 입양보낸 동물의 테이블에만 컬럼값 있음
     , B.NAME
  FROM  ANIMAL_INS AS A
 RIGHT OUTER JOIN ANIMAL_OUTS AS B # 입양보낸 동물 테이블 기준
    ON A.ANIMAL_ID = B.ANIMAL_ID
 WHERE A.ANIMAL_ID IS NULL
 ORDER BY B.ANIMAL_ID 

있었는데요 없었습니다

-- 입양일 < 보호 시작일
SELECT
      A.ANIMAL_ID
    , A.NAME
 FROM ANIMAL_INS AS A
INNER JOIN ANIMAL_OUTS AS B
   ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.DATETIME < A.DATETIME
ORDER BY A.DATETIME

좋은 웹페이지 즐겨찾기