Notice
Recent Posts
Recent Comments
Link
«   2026/10   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

seaking110 님의 블로그

2일차 본문

Today I Learned

2일차

seaking110 2024. 11. 20. 23:32

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 걷기반 문제는 끝났다! 내일부터는 달리기반 문제를 풀어보겠습니다!

'Today I Learned' 카테고리의 다른 글

사전 캠프 5일차  (0) 2024.11.25
사전 캠프 4일차  (0) 2024.11.22
사전 캠프 3일차  (0) 2024.11.21
1일차  (1) 2024.11.19
스타터 노트  (1) 2024.11.18