[SQL] 조건 IN과 BIN(Column) 2진수

G ON·2024년 5월 1일

SQL

목록 보기
20/21
post-thumbnail

조건 IN

  1. column IN (list_of_values) 기준
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPER_INFOS
WHERE DEVELOPER_INFOS.SKILL_1 IN ('Python')
OR DEVELOPER_INFOS.SKILL_2 IN ('Python')
OR DEVELOPER_INFOS.SKILL_3 IN ('Python')
ORDER BY 1 ASC
;
  1. value IN (column_1, column_2, column_3) 기준
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPER_INFOS
WHERE 'Python' IN (SKILL_1, SKILL_2, SKILL_3)
ORDER BY 1 ASC
;

BIN(Column) 2진수

프로그래머스 특정 형질 가지는 대장균 찾기

GENOTYPE(Column)
8
15
1
13

각 대장균 별 형질을 2진수

ID 1 : 1000₍₂₎
ID 2 : 1111₍₂₎
ID 3 : 1₍₂₎
ID 4 : 1101₍₂₎

각 대장균 별 보유한 형질

ID 1 : 4
ID 2 : 1, 2, 3, 4
ID 3 : 1
ID 4 : 1, 3, 4

Q. 2번 형질을 보유하지 않으면서, 1번이나 3번 혹은 1번 3번 모두를 보유하는 조건절

SELECT COUNT(*) AS COUNT
FROM ECOLI_DATA
WHERE NOT(GENOTYPE & 2) **두 번째 비트가 1이 아닌,**
AND (GENOTYPE & 1 OR GENOTYPE & 4) **첫 번째 비트와 세 번째  비트가 1(2진수 기준이므로 1 2 4 8)**
;

0개의 댓글