중성화
되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.중성화
: 중성화를 거치지 않은 동물은 성별 및 중성화 여부
에 Intact, 중성화를 거친 동물은 Spayed
또는 Neutered
라고 표시되어있습니다.제출한 코드 :
SELECT I.ANIMAL_ID
, I.ANIMAL_TYPE
, I.NAME
FROM ANIMAL_INS AS I
LEFT JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.SEX_UPON_INTAKE LIKE "%Intact%"
AND SEX_UPON_OUTCOME NOT LIKE '%Intact%'
ORDER BY ANIMAL_ID;
다른 방법들(WHERE절 이외의 부분은 모두 동일) :
WHERE I.SEX_UPON_INTAKE LIKE "%Intact%"
AND ((O.SEX_UPON_OUTCOME LIKE "%Spayed%") OR
(O.SEX_UPON_OUTCOME LIKE "%Neutered%"))
WHERE I.SEX_UPON_INTAKE NOT REGEXP 'Spayed|Neutered'
AND O.SEX_UPON_OUTCOME REGEXP 'Spayed|Neutered'
WHERE I.SEX_UPON_INTAKE <> O.SEX_UPON_OUTCOME
보호소에 들어올 당시의 상태가
Spayed
나Neutered
인 경우
보호소를 나갈 당시에도 상태가 변하지 않기 때문에 <> 사용 가능
'경제'
카테고리에 속하는 도서들의 도서 ID(BOOK_ID
), 저자명(AUTHOR_NAME
), 출판일(PUBLISHED_DATE
) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요.제출한 코드 :
SELECT BOOK_ID
, AUTHOR_NAME
, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d')
FROM AUTHOR AS A
LEFT JOIN BOOK AS B
ON A.AUTHOR_ID = B.AUTHOR_ID
WHERE CATEGORY = "경제"
ORDER BY B.PUBLISHED_DATE
FOOD_ORDER
테이블에서 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요. 출고여부는 5월 1일까지 출고완료로 이 후 날짜는 출고 대기로 미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬해주세요.제출한 코드 :
SELECT ORDER_ID
, PRODUCT_ID
, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS "OUT_DATE"
, CASE WHEN OUT_DATE <= '2022-05-01' then '출고완료'
WHEN OUT_DATE IS NULL THEN '출고미정'
ELSE '출고대기'
END AS '출고여부'
FROM FOOD_ORDER
ORDER BY ORDER_ID;
제출한 코드 :
SELECT I.INGREDIENT_TYPE
, SUM(H.TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF AS H
LEFT JOIN ICECREAM_INFO AS I
ON H.FLAVOR = I.FLAVOR
GROUP BY I.INGREDIENT_TYPE
ORDER BY H.TOTAL_ORDER
제출한 코드 :
SELECT ANIMAL_ID
, NAME
, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME REGEXP '^(Lucy|Ella|Pickle|Rogan|Sabrina|Mitty)$';
정규표현식에서의 ^랑 $의 사용법을 처음 알았다. ^랑 $를 쓰지 않고 답안을 제출했더니 틀렸다고 나왔다. 뭐가 문제인가 싶어서 지피티 선생님한테 물어보니까 바로 답 해줬다. (^와 %의 사용은 필수가 아니다)
그러니까, 만약 이름이 Ella가 아니라 Ellaz라는 친구가 있다면 Ellaz가 Ella라는 부분 문자열을 포함하기 때문에 패턴이 일치하게 된다(-> 결과에 출력된다) 만약 찾고자 하는 값이 다른 문자열과 함께 조합되어 있거나 문자열의 일부로 포함되어 있다면, ^와 $를 사용하지 않을 경우 원하지 않는 결과가 나올 수 있다는 것이다.
오늘의 TMI
키보드 샀다.
그동안은 매번 노트북 키보드나 그냥 일반적으로 학교 컴퓨터실이나 사무실에서 쓰는 키보드만 썼고, 몇 년 전 아이패드를 구매하고 나서는 블루투스 키보드가 하나는 필요해서 다들 쓰는 로지텍k380 사서 지금까지 쓰고 있다. (사실상 아이패드랑 같이 쓰려고 산거지만 이제는 그냥 노트북 키보드 안 쓰고 로지텍 연결해서 씀.....ㅋㅋㅋㅋ)
평소에도 물건이 완전히 망가지기 전까지 새거 안 사고 대충 쓰는 사람인지라 키보드도 고장날 때까지 쓰려고 했지만...? 요즘 내 유튭 알고리즘에 기계식 키보드가 많이 뜨더라^^ 그래도 '한번쯤은 써보고 싶다' 였지 '와 사야겠다!' 이건 아니어서 그냥 있었는데 다얼유 A104PRO FLEX 보고 이건 괜찮겠는데? 싶어서 샀다ㅋㅋㅋ 기게식 키보드에 대한 호기심 + 안그래도 로지텍 점점 씹힘현상 심해지는 중/높이 불편함 + 마음에 드는거 바로 발견했으니까 콤보로...^^(핑계임)
그래도 첫 기계식 키보드인데 10만원은 좀 그런가 싶어서 독거미 저소음 피치축인가 그거 사려다가 다얼유 A104PRO FLEX가 디자인/색상도 그렇고 소리도 더 마음에 들어서 큰맘 먹고 지름... 독거미 저소음은 나중에 회사 다닐 때 필요하게 되면 그때 사는걸로ㅋㅋㅋ