select min(DATETIME) from ANIMAL_INS;
select count(*) from ANIMAL_INS;
select count(distinct NAME) from ANIMAL_INS;
- count(*) 은 NULL값을 포함하여 출력 , count(칼럼) 은 NULL값을 제외하고 출력
- distinct는 중복 제거 키워드
- 'distinct 칼럼 ' 하게 되면 중복 값 뿐만 아니라 null도 제외
SELECT ANIMAL_TYPE , count(ANIMAL_TYPE) as count from ANIMAL_INS
group by ANIMAL_TYPE
order by ANIMAL_TYPE;
- as : 칼럼 이름을 커스텀으로 정의
- group by : 해당 칼럼을 그룹화하여 표시
select NAME , count(NAME) as count from ANIMAL_INS
group by NAME
having count > 1 and NAME is not NULL
order by NAME;
select hour(DATETIME) , count(*) as count from ANIMAL_OUTS
where hour(DATETIME) >= 9 and hour(DATETIME) < 20
group by hour(DATETIME)
order by hour(DATETIME);
select ANIMAL_TYPE , ifnull(NAME,'No name') , SEX_UPON_INTAKE from ANIMAL_INS
order by ANIMAL_ID;
- IFNULL : 값이 null일 때 다른 값으로 출력하도록 함
select ANIMAL_ID , NAME ,SEX_UPON_INTAKE from ANIMAL_INS
where NAME IN ('Lucy','Ella','Pickle','Rogan','Sabrina','Mitty')
order by ANIMAL_ID;
- in : where 절 내에서 특정값 여러개를 선택하는 연산자 , 괄호 안의 값중 하나라도 해당되면 true
select ANIMAL_ID , NAME from ANIMAL_INS
where NAME like '%el%' AND ANIMAL_TYPE = 'Dog'
order by NAME;
- like : 부분적으로 일치하는 칼럼을 찾을 때 주로 where에서 사용
- '%' 는 글자 수 명시 x , '_' 는 글자 수 명시
- [^A] : 첫글자 A가 아닌
- [A-Z] : 첫 번째 문자가 A부터 Z중에 있는지