코딩 테스트 연습/SQL (23) 썸네일형 리스트형 [ 코딩 테스트 ] 중성화 여부 파악하기 문제조건정답SELECT ANIMAL_ID, NAME,CASE SEX_UPON_INTAKEWHEN "Neutered Male" THEN "O"WHEN "Spayed Female" THEN "O"ELSE "X" END as "중성화"FROM ANIMAL_INS 후기 중성화가 되어있다면 'O', 아니라면 'X' 'Neutered' 또는 'Spayed'=> WHEN "Neutered Male" THEN "O" WHEN "Spayed Female" THEN "O" ELSE "X" END as "중성화" >CASE 컬럼명WHEN "컬럼 데이터" THNS "변경 출력값"ELSE "그 외 변경출력값" END ⭐조회할 때의 출력값이 변경되는 것으로 실제 값의 변경은 아니다 [ 코딩 테스트 ] 조건에 맞는 회원수 구하기 문제조건정답SELECT COUNT(USER_ID) as "USERS" FROM USER_INFOWHERE JOINED LIKE "2021%" AND AGE >= 20 AND AGE 후기 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하=> WHERE JOINED LIKE "2021%" AND AGE >= 20 AND AGE [ 코딩 테스트 ] 이름이 없는 동물의 아이디 문제조건 정답SELECT ANIMAL_ID FROM ANIMAL_INSWHERE NAME is NULLORDER BY ANIMAL_ID 후기 이름 없는 동물=> WHERE NAME is NULL ID 오름차순=> ORDER BY ANIMAL_ID 간단! [ 코딩 테스트 ] 가격이 제일 비싼 식품의 정보 출력하기 문제조건정답SELECT * FROM FOOD_PRODUCTWHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);SELECT * FROM FOOD_PRODUCTORDER BY PRICE DESCLIMIT 1; 후기 SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, MAX(PRICE)FROM FOOD_PRODUCT; 그냥 이렇게 하면 PRICE 만 최대값이 출력되고 나머지는 첫번째 열 값이 나오게 된다 ㅋㅋSELECT * FROM FOOD_PRODUCT WHERE PRICE = MAX(PRICE); 그렇다고 이렇게 작성하면 group 오류가 뜬다 사실 제일 간편하게 할 수 있는 건 아래쪽 코드인PRICE 를 내림차순해서 .. [ 코딩 테스트 ] 흉부외과 또는 일반외과 의사 목록 출력하기 문제조건 정답SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d')FROM DOCTORWHERE MCDP_CD = "CS" OR MCDP_CD = "GS"ORDER BY HIRE_YMD DESC, DR_NAME; 후기 진료과가 흉부외과(CS)이거나 일반외과(GS)인=> WHERE MCDP_CD = "CS" OR MCDP_CD = "GS" 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬=> ORDER BY HIRE_YMD DESC, DR_NAME 날짜 포맷은 예시와 동일하게=> DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') [ 코딩 테스트 ] DATETIME에서 DATE로 형 변환 문제조건 정답SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') as "날짜"FROM ANIMAL_INSORDER BY ANIMAL_ID; 후기 DATETIME 컬럼의 데이터를 시각을 제외한 날짜만 출력하게 해주면 된다DATE_FORMAT 이라는 함수를 사용해서 포맷시켜주면 된다 시각(시-분-초)을 제외한 날짜(년-월-일)만=> DATE_FORMAT(DATETIME, '%Y-%m-%d') [ 코딩 테스트 ] 강원도에 위치한 생산공장 목록 출력하기 문제조건 정답SELECT FACTORY_ID, FACTORY_NAME, ADDRESSFROM FOOD_FACTORYWHERE ADDRESS LIKE "강원도%"ORDER BY FACTORY_ID; 후기 강원도에 위치한=> WHERE ADDRESS LIKE "강원도%" 이전과 비슷한 문제하지만 이번에는 ADDRESS 컬럼 기준으로 조회하기 때문에 앞에 강원도가 포함된 형식으로 조회 [ 코딩 테스트 ] 경기도에 위치한 식품창고 목록 출력하기 문제조건 정답SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, "N")FROM FOOD_WAREHOUSEWHERE WAREHOUSE_NAME LIKE "%경기%"ORDER BY WAREHOUSE_ID; 후기 냉동시설 여부가 NULL인 경우, 'N'으로 출력=> IFNULL(FREEZER_YN, "N") 경기도에 위치한=> WHERE WAREHOUSE_NAME LIKE "%경기%" ADDRESS 컬럼이 아닌 WAREHOUSE_NAME 컬럼이 기준이기 때문에 "%경기%" 로 조회 이전 1 2 3 다음 목록 더보기