no image
[프로그래머스] 조건에 맞는 개발자 찾기 - MySQL
🔗 조건에 맞는 개발자 찾기DEVELOPERS와 SKILLCODES 테이블을 조인해 개발자의 SKILL_CODE에서 Python(256) 또는 C#(1024) 스킬이 있는지 확인한다.DEVELOPERS.SKILL_CODE와 SKILLCODES.CODE 간의 비트 연산을 수행하기 위해 비트 AND 연산자인 &를 사용한다.DEVELOPERS.SKILL_CODE가 SKILLCODES.CODE를 포함하고 있는지 확인하여 개발자가 특정 스킬을 보유하고 있으면 그 스킬의 코드가 SKILL_CODE에 포함된 비트로 표시한다.WHERE 절에서 'Python'이나 'C#' 스킬을 가진 개발자만 필터링한다.중복되는 개발자 정보를 제거하기 위해 DISTINCT를 사용한다.개발자의 ID를 기준으로 오름차순 정렬한다. 🦈 ..
2024.09.14
no image
[프로그래머스] 업그레이드 된 아이템 구하기 - MySQL
🔗 업그레이드 된 아이템 구하기ITEM_INFO 테이블과 ITEM_TREE 테이블을 조인해 업그레이드 가능한 아이템을 찾는다.ITEM_INFO는 아이템의 정보(이름, 희귀도 등)를 담고 있다.ITEM_TREE는 아이템 업그레이드 관계를 나타낸다.PARENT_ITEM_ID를 통해 어떤 아이템이 다른 아이템의 상위(PARENT) 아이템인지 기록하고 있다.ITEM_TREE의 PARENT_ITEM_ID 희귀도가 'RERE'인 아이템을 필터링한다.서브쿼리는 ITEM_INFO 테이블에서 희귀도가 'RERE'인 아이템들의 ITEM_ID를 가져온다.WHERE 절은 PARENT_ITEM_ID 희귀도가 'RARE'인 아이템들에 속하는 아이템들만 조회한다.(= 업그레이드 가능한 아이템 == 상위 아이템이 'RARE'인 아..
2024.09.13
no image
[MySQL] 날짜 및 시간 데이터 유형 Date and Time Data Types
✅ Date and Time Data Types (8.4)시간 값을 나타내는 날짜 및 시간 데이터 유형은 DATE, TIME, DATETIME, TIMESTAMP, YEAR이 있다. "ZERO" 값을 사용하여 값을 명시적으로 저장하거나 참조할 수 있다. DATE TYPE"ZERO" VALUEDATE'0000-00-00'TIME'00:00:00'DATETIME'0000-00-00 00:00:00'TIMESTAMP'0000-00-00 00:00:00'YEAR0000 MySQL 날짜는 항상 년-월-일 순서이다. 이 순서를 변경하려면 STR_TO_DATE()를 사용해야 한다.연도 값이 2자리일 경우, MySQL의 세기 기준은 다음과 같다.70-99 : 1970-199900-69 : 2000-2069값이 숫자형 ..
2024.09.13
no image
[프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기 - MySQL, Oracle
🔗 흉부외과 또는 일반외과 의사 목록 출력하기🦈 MySQL 🦈✨ 방법1 : OR ✨SELECT DR_NAME , DR_ID, MCDP_CD , DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMDFROM DOCTORWHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'ORDER BY HIRE_YMD DESC, DR_NAME ASC; 🌟 방법2 : IN 🌟SELECT DR_NAME , DR_ID , MCDP_CD , DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMDFROM DOCTORWHERE MCDP_CD IN ('CS', 'GS')ORDER BY HIRE_YMD DESC, DR_NAME ASC..
2024.09.13
no image
[프로그래머스] 평균 일일 대여 요금 구하기 - MySQL, Oracle
🔗 평균 일일 대여 요금 구하기🦈 MySQL, Oracle ⭕️SELECT ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEEFROM CAR_RENTAL_COMPANY_CARWHERE CAR_TYPE = 'SUV'
2024.09.13
no image
[프로그래머스] 아픈 동물 찾기 - MySQL, Oracle
🔗 아픈 동물 찾기🦈 MySQL, Oracle ⭕️SELECT ANIMAL_ID, NAMEFROM ANIMAL_INSWHERE INTAKE_CONDITION = 'Sick'ORDER BY ANIMAL_ID;
2024.09.13
no image
[프로그래머스] Python 개발자 찾기 - MySQL
🔗 Python 개발자 찾기🦈 MySQL 🦈✨ 방법1 : OR ✨SELECT ID , EMAIL , FIRST_NAME , LAST_NAMEFROM DEVELOPER_INFOSWHERE SKILL_1 = 'Python' OR SKILL_2 = 'Python' OR SKILL_3 = 'Python'ORDER BY ID; 🌟 방법 2 : IN 🌟SELECT ID , EMAIL , FIRST_NAME , LAST_NAMEFROM DEVELOPER_INFOSWHERE 'Python' IN (SKILL_1, SKILL_2, SKILL_3)ORDER BY ID;
2024.09.11
no image
[프로그래머스] 동물의 아이디와 이름 - MySQL, Oracle
🔗 동물의 아이디와 이름🦈 MySQL, Oracle ⭕️SELECT ANIMAL_ID, NAMEFROM ANIMAL_INSORDER BY ANIMAL_ID;
2024.09.10
no image
에라토스테네스의 체
📍 에라토스테네스의 체소수를 찾는 방법으로 시간복잡도는 O(N^1/2)이다. 💡 원리1. 2부터 시작해 그 수의 배수를 모두 지운다.2. 배수를 지운 다음, 다음으로 남아 있는 수를 선택해 다시 그 수의 배수를 지운다.3. 반복한다.4. 남은 수는 소수이다.🥑 예시코드2부터 100까지의 소수를 구한다.isPrime이라는 boolean 배열을 사용해 소수 여부를 표시한다.배열의 길이는 100이며, 초기값은 모두 true로 설정한다.isPrime[0]과 isPrime[1]은 소수가 아니기 때문에 false로 설정한다.2부터 시작해, 현재 수 i가 소수(isPrime[i] == true)라면, 그 수의 제곱부터 시작해 해당 수의 모든 배수를 false로 설정한다.이는 배수들이 소수가 아니라는 것을 의미한..
2024.09.09