728x90

문제

FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.

 

SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IF(FREEZER_YN IS NULL, "N", FREEZER_YN)
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE "경기도%"
ORDER BY WAREHOUSE_ID ASC;

%연산자를 이용하면 경기도가 들어간 address를 추출해준다.

728x90
728x90
SELECT COUNT(*) 
FROM USER_INFO 
WHERE AGE IS NULL


SELECT COUNT(USER_ID) as USERS 
FROM USER_INFO 
WHERE AGE IS NULL;

 

728x90
728x90

문제 설명

다음은 식품공장의 정보를 담은 FOOD_FACTORY 테이블입니다. FOOD_FACTORY 테이블은 다음과 같으며 FACTORY_ID, FACTORY_NAME, ADDRESS, TLNO는 각각 공장 ID, 공장 이름, 주소, 전화번호를 의미합니다.

Column nameTypeNullable
FACTORY_ID VARCHAR(10) FALSE
FACTORY_NAME VARCHAR(50) FALSE
ADDRESS VARCHAR(100) FALSE
TLNO VARCHAR(20) TRUE

문제

FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성해주세요. 이때 결과는 공장 ID를 기준으로 오름차순 정렬해주세요.


예시

FOOD_FACTORY 테이블이 다음과 같을 때

FACTORY_IDFACTORY_NAMEADDRESSTLNO
FT19980003 (주)맛있는라면 강원도 정선군 남면 칠현로 679 033-431-3122
FT19980004 (주)맛있는기름 경기도 평택시 포승읍 포승공단순환로 245 031-651-2410
FT20010001 (주)맛있는소스 경상북도 구미시 1공단로7길 58-11 054-231-2121
FT20010002 (주)맛있는통조림 전라남도 영암군 미암면 곤미현로 1336 061-341-5210
FT20100001 (주)맛있는차 전라남도 장성군 서삼면 장산리 233-1번지 061-661-1420
FT20100002 (주)맛있는김치 충청남도 아산시 탕정면 탕정면로 485 041-241-5421
FT20100003 (주)맛있는음료 강원도 원주시 문막읍 문막공단길 154 033-232-7630
FT20100004 (주)맛있는국 강원도 평창군 봉평면 진조길 227-35 033-323-6640
FT20110001 (주)맛있는밥 경기도 화성시 팔탄면 가재리 34번지 031-661-1532
FT20110002 (주)맛있는과자 광주광역시 북구 하서로 222 062-211-7759

SQL을 실행하면 다음과 같이 출력되어야 합니다.

FACTORY_IDFACTORY_NAMEADDRESS
FT19980003 (주)맛있는라면 강원도 정선군 남면 칠현로 679
FT20100003 (주)맛있는음료 강원도 원주시 문막읍 문막공단길 154
FT20100004 (주)맛있는국 강원도 평창군 봉평면 진조길 227-35

 


 

나의 풀이

SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE "강원도%"
ORDER BY FACTORY_ID

이 문제는 간단히  LIKE 명령어를 사용하여 강원도 지역을 추출하여 SELECT 하면 된다.

728x90
728x90
SELECT NAME, DATETIME 
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;

 

ORDER BY의 문법

...
ORDER BY <field_name> (ASC, DESC);

데이터를 ASC(오름차순) 또는 DESC(내림차순)로 정렬할 수 있다. 정렬 방향 생략 시 ASC로 정렬

728x90
728x90
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick'
728x90
728x90
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS 
WHERE INTAKE_CONDITION <> 'Aged'

SELECT ANIMAL_ID, NAME으로 두 컬럼을 ANIMAL_INS 테이블에서 조회하고

WHERE 절에서 Aged가 아닌 값만 가져오므로 <> 혹은 != 를 넣어주면 되는데

 

!= 는 <>로 자동 변환되어 사용되므로 둘 중에 아무거나 써도 되지만

퍼포먼스를 위해서는 <>를 써주는 것이 좋다

728x90
728x90
SELECT  
    ANIMAL_ID, NAME 
FROM  
    ANIMAL_INS 
ORDER BY 
    ANIMAL_ID ASC
728x90
728x90
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC;
728x90

+ Recent posts