
쉬어가는 타이밍.
즐거운 시간이었다.
SQL
비트 AND 연산 & :
두 개의 숫자의 각 비트를 비교하여 두 비트가 모두 1일 때만 1이 되는 연산
비트 AND 연산의 원리
입력된 두 숫자의 각 비트를 논리적 AND 연산을 수행하여 새로운 숫자 생성
# 비트 AND 연산은 다음과 같은 규칙을 따른다 :
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0
예시 (10 과 12 의 AND 연산)
# 10과 12의 이진수 표현:
10 (십진수) = 1010 (이진수)
12 (십진수) = 1100 (이진수)
# 비트 AND 연산 수행:
1010 (10의 이진수)
1100 (12의 이진수)
----
1000 (결과 이진수) = 8
따라서 10과 12의 AND 연산 결과는 8 이다.
문제 적용
# SKILLCODES 테이블과 DEVELOPERS 테이블 조인
# 조인 조건 : S.CODE와 D.SKILL_CODE의 비트 AND 연산 결과가 S.CODE와 동일
FROM SKILLCODES S
JOIN DEVELOPERS D ON (S.CODE & D.SKILL_CODE) = S.CODE
# 예를 들어 어떤 개발자의 SKILL_CODE가 400 (=b'110010000')이라면,
# 이는 SKILLCODES 테이블에서 CODE가
# 256 (=b'100000000'), 128 (=b'10000000'), 16 (=b'10000') 에
# 해당하는 스킬을 가졌다는 것을 의미
400 AND 256, 128, 16 :
110010000 (400)
---------
100000000 (256)
010000000 (128)
000010000 (16)
400 에는 256, 128, 16 이 모두 포함된다고 볼 수 있다.
사용 API 는 상황에 맞게 선택,
웹서비스 URL에는http://localhost를 입력하면 된다.
완료
궁금했던 내용들이 많이 해소된 세션이었다.
세션 복습, 정리 후 실습까지 다시 해봐야겠다 !
오늘의 한 줄.
긴장 풀지 말고 끝까지 하자.
+)
개인적으로 도전했던TIL 연속일수 100일. 달성 !