MySQL 28

[Lv.2 / 프로그래머스 / SQL] ROOT 아이템 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 PARENT_ITEM_ID 가 Null인 항목을 출력해야 한다. IS NULL 구문을 통해 현재 필드의 null 여부를 반환받을 수 있다. SELECT INFO.ITEM_ID, INFO.ITEM_NAME FROM ITEM_INFO AS INFO, ITEM_TREE AS TREE WHERE INFO.ITEM_ID = TREE.ITEM_ID AND TREE.PARENT_ITEM_ID IS NULL

[Lv.2 / 프로그래머스 / SQL] 조건에 맞는 아이템들의 가격의 총합 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 희귀도가 LEGEND인 아이템의 PRICE 합을 구해야 한다. SELECT SUM(PRICE) AS TOTAL_PRICE FROM ITEM_INFO WHERE RARITY = 'LEGEND'

[Lv.4 / 프로그래머스 / SQL] FrontEnd 개발자 찾기

풀이 SKILLCODES에 있는 스킬 중 Front End 스킬을 가진 개발자를 출력해야 한다. 이전 문제에서 SKILLCODES에 있는 CODE를 적절하게 서브쿼리로 구해, DEVELOPERS에 있는 SKILL_CODE 를 & 비트 연산을 사용해 비교하여 정답을 구했다. 마찬가지로, 이번에는 Front End 카테고리에 속한 스킬들을 모두 추출하여 비교하면 되므로 Front End인 것만 추출하여 CODE를 더해 비트연산을 하면 된다. SELECT DISTINCT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPERS AS D WHERE D.SKILL_CODE & ( SELECT SUM(`CODE`) FROM SKILLCODES WHERE CATEGORY = 'Front..

[Lv.2 / 프로그래머스 / SQL] 조건에 맞는 개발자 찾기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 DEVELOPERS 테이블에 있는 개발자의 SKILL_CODE가 SKILLCODES 테이블의 C#, Python 코드 중 하나를 포함하는 ROW를 출력해야 한다. 비트연산자를 활용하여 개발자의 SKILL_CODE에 C# 혹은 Python의 CODE가 포함되는지 판별하도록 하자. SELECT DISTINCT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPERS AS D WHERE D.SKILL_CODE & (SELECT `CODE` FROM SKILLCODES WHERE ..

[Lv.2 / 프로그래머스 / SQL] 재구매가 일어난 상품과 회원 리스트 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 재구매가 일어난 상품 리스트를 조회해야 한다. USER_ID와 PRODUCT_ID를 기준으로 묶어, PRODUCT_ID의 개수가 2 이상인 것을 조회하면 재구매라고 판별할 수 있다. SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(PRODUCT_ID) > 1 ORDER BY USER_ID ASC, PRODUCT_ID DESC

[Lv.2 / 프로그래머스 / SQL] 루시와 엘라 찾기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty 중 하나일 경우를 조회해야 한다. 이렇게 여러 개의 스트링에 속하는지 여부를 판별할 때에는 IN 을 사용하면 편하게 구현할 수 있다. SELECT ANIMAL_ID , NAME , SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ("Lucy", "Ella", "Pickle", "Rogan", "Sabrina", "Mitty") ORDER BY ANIMAL_ID

[SQL] Select절에 별칭(AS) 사용 후 Where절 Unknown Column 발생 이유

에러 메시지 SQL 오류 (1054): Unknown column 'xxx' in 'where clause' 원인 한 마디로 요약하자면 Select절 이전에 Where절이 실행되기 때문이다. 작성 순서상에는 Select 다음에 Where 절이라 실제 실행 순서를 간과한게 문제였다. 해결 방법 MySQL의 경우 각 절의 실행 순서는 아래와 같다. (Oracle 등 다른 DB의 경우 다를 수 있다.) FROM WHERE SELECT GROUP BY HAVING ORDER BY LIMIT 따라서, Where 대신 Having을 사용하여 문제를 해결할 수 있다. SELECT id AS userId FROM users HAVING userId = 272

Dev/SQL 2022.12.06
반응형