seaking110 님의 블로그
2일차 본문
SQL 이란?
데이터베이스와 대화를 하기 위한 언어!
'Query' : 데이터베이스에 요청을 하는 질의
비교 연산자 중에 같지 않다를 <>로 쓴다!
ex )
age <> 21
데이터 베이스 걷기반 기초 6~10 + 마지막 연습문제 헷갈린 문제들

40세 이상을 어떻게 계산할까 라고 생각하다가 현재 시간인 sysdate()를 이용하면 되겠다 라는 생각과 1일차에 배웠던 datediff를 사용하려고 했으나 365 * 5 를 직접 넣어서 비교하는 것은 뭔가 예쁘지 않았다.
년도를 직접 비교하고 싶었는데 timestampdiff에 단위를 넣고 비교할 수 있다는 걸 찾구 직접 사용해봤다
timestampdiff(단위, 'yy-mm-dd', 'yy-mm-dd');
답
select count(*) from patients where timestampdiff(year, birth_date , sysdate())>=39;
Join 함수
Inner Join
교집합에 해당
SELECT * FROM TABLE_A as a INNER JOIN TABLE_B as b on a.key = b.key;
Left Outer Join
앞에 있는 테이블에 초점을 맞춘 조인
SELECT * FROM TABLE_A as a LEFT OUTER JOIN TABLE_B as b on a.key = b.key;
Right Outer Join
뒤에 있는 테이블에 초점을 맞춘 조인
SELECT * FROM TABLE_A as a RIGHT OUTER JOIN TABLE_B as b on a.key = b.key;
Full Outer Join
합집합에 해당 모든 데이터 조회
SELECT * FROM TABLE_A as a FULL OUTER JOIN TABLE_B as b on a.key = b.key;

NULL 체크 방식이 기존과 다르다는 것은 알고 있었는데 정확히 기억이 안나서 찾아봤다 앞으로 쭉 기억하자!
NULL 체크 방법
SELECT * FROM table where id IS NULL OR id = " ";
답
select count(*) from employees as e right join departments as d on e.department_id=d.id where e.name is null;
오늘로 DB 걷기반 문제는 끝났다! 내일부터는 달리기반 문제를 풀어보겠습니다!