조건문을 만들 때 사용한다.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION="Sick";
만족하지 않는 조건을 찾을 때 NOT을 사용
SELECT ANIMAL_ID,NAME
FROM ANIMAL_INS
WHERE NOT INTAKE_CONDITION='Aged';
IS NULL을 사용해서 NULL인 정보를 검색
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL
연산자 IN을 사용해 여러 값을 지정해 검색 가능
SELECT ANIMAL_ID,NAME,SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy','Ella','Pickle','Rogan','Rogan','Sabrina','Mitty');
LIKE를 이용해 el이 들어가는 이름을 찾는다.
My Sql에서는 LIKE로 검사시 대소문자 구별을 하지 않는다고 한다.
BINARY(NAME) LIKE "%el%"
로 쓰면 구분할 수 있음
SELECT ANIMAL_ID,NAME
FROM ANIMAL_INS
WHERE NAME LIKE "%EL%" AND ANIMAL_TYPE="Dog"
ORDER BY NAME;
대문자와 소문자로 바꾸는 UPPER, LOWER함수가 존재
이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 하는데,
ORDER BY 문은 첫 번째 조건을 기준으로 정렬하되, 첫 번째 조건이 동일한 로우들을 만나게 될 경우 그 다음 조건을 기준으로 해당 로우들을 정렬합니다. 즉, NAME으로 정렬하고 이름이 같으면 DATETIME을 DESC로 정렬
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME, DATETIME DESC
✅ DATE_FORMAT()
DATE_FORMAT(날짜 , 형식) : 날짜를 지정한 형식으로 출력
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') AS 컬럼명 FROM 테이블명
✅ YEAR()
날짜, 시간과 관련된 함수
SELECT YEAR(NOW()) FROM 테이블명
위, 아래 코드는 모두 동일하게 동작한다.
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE,'%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK
WHERE DATE_FORMAT(PUBLISHED_DATE,'%Y')='2021' AND CATEGORY='인문'
ORDER BY PUBLISHED_DATE DESC
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE,'%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK
WHERE YEAR(PUBLISHED_DATE)='2021' AND CATEGORY='인문'
ORDER BY PUBLISHED_DATE DESC
상반기 아이스크림 맛을 총주문량을 기준으로 내림차순 정렬하고 총주문량이 같은 경우 출하 번호를 기준으로 오름차순 정렬
SELECT FLAVOR
FROM FIRST_HALF
ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID
LIKE를 이용해 네비게이션 옵션이 포함된 정보만 출력하도록 한다.
SELECT *
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE "%네비게이션%"
ORDER BY CAR_ID DESC;
COUNT
를 이용한 첫번째 방법*
)를 대상으로 할 때 주의해야 합니다. COUNT(*
)는 NULL 값을 포함하고 COUNT(AGE)와 같이 특정 컬럼을 지정해줄 경우 NULL 값을 포함하지 않기 때문입니다.SELECT COUNT(*) AS USERS
FROM USER_INFO
WHERE AGE IS NULL;
SUM
함수를 이용한 두번째 방법1
을, 충족하지 못하는 거짓(False)는 0
을 반환합니다.SELECT SUM(AGE IS NULL) AS USERS
FROM USER_INFO;
DATE_FORMAT
을 이용해 출력하면 된다. MONTH()
를 사용해도 동일한 결과를 얻을 수 있다!
SELECT MEMBER_ID,MEMBER_NAME,GENDER,DATE_FORMAT(DATE_OF_BIRTH,'%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE TLNO IS NOT NULL AND DATE_FORMAT(DATE_OF_BIRTH,'%m')='03' AND GENDER='W'
ORDER BY MEMBER_ID;
SELECT MEMBER_ID,MEMBER_NAME,GENDER,DATE_FORMAT(DATE_OF_BIRTH,'%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE TLNO IS NOT NULL AND MONTH(DATE_OF_BIRTH)='03' AND GENDER='W'
ORDER BY MEMBER_ID;
DATE_FORMAT을 이용해 포맷을 지정해준다.
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME,"%Y-%m-%d") AS '날짜'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;