주니어 개발자가 되기 위한 첫 면접을 보았다.
갑작스런 테스트에 많이 당황을 했는데 막혔던 부분이 SQL 쿼리 문법이었다.
다 틀린 나의 모습을 보며 심각성을 느끼고 SQL 공부를 했다.
1) 같지 않음
!= : 같지않음 -> 해당 필드만 뺀 테이블이 출력
2) 범위 = between
select * from orders
wherer created_at "between" '날짜' AND '날짜'
between 은 날짜나 점수 사이를 구할 수 있다.
3) 포함
SELECT * FROM checkins
WHERE week in (1,3)
4) 패턴(문자열 규칙)
SELECT * FROM users
WHERE email LIKE '%daum.net'
% = 이 앞에 뭐가 있든 간에 daum.net으로 끝나는 것을 이야기 한다.
SQL 유용한 문법
1) limit
언제 사용하는가? 큰 테이블의 전체 조회할 때 오래 걸릴 수 있기에
limit을 하면 쓸데 없이 다 로딩 할 필요 없다.
2) Distinct
해당 필드에 어떤 colum이 있는지 중복 제거하고 볼 수 있다.
3) Count
전체가 몇개 있는지 확인 가능
4) Distinct 와 Count 를 같이 사용
distinct로 중복을 제거한 다음에 count 사용하면 전체 갯수가 나온다.
ex) SELECT count(DISTINCT(name)) FROM users
1) 범주의 통계를 내주는 Group by
ex) SELECT name, COUNT() FROM users
group by name
group by 안에 count를 쓰게 되면 name으로 묶이는 애들의 개수들을 세어주는 것
실행 순서
1. from users: users 테이블 데이터 전체를 가져옵니다.
2. group by name: users 테이블 데이터에서 같은 name을 갖는 데이터를 합쳐줍니다.
3. select name, count(): name에 따라 합쳐진 데이터가 각각 몇 개가 합쳐진 것인지 세어줍니다.
예) 이, 이, 김, 김, 박 이렇게 데이터가 있었다면, 이는 2개, 김은 2개, 박은 1개겠죠!