목록SubQuery (3)
zimslog
1. 최적화 전 코드 (서브쿼리 사용)SELECT N, CASE WHEN P IS NULL THEN 'Root' WHEN N NOT IN (SELECT DISTINCT P FROM BST WHERE P IS NOT NULL) THEN 'Leaf' ELSE 'Inner' END AS VNFROM BSTORDER BY N WHERE P IS NOT NULL : 없을 경우 NOT IN 에 NULL이 포함되어 모든 결과가 FALSE/UNKNOWN으로 처리됨서브쿼리와 DISTINCT 함수 존재: 엔진/옵티마이저에 따라 서브쿼리가 반복 시행될 수 있음: DISTINCT도 정렬/해시 연산으로 비용이 듬 2. 서브쿼리를 JOIN 으로 대체SEL..
https://school.programmers.co.kr/learn/challenges?order=recent&levels=2&languages=mysql 코딩테스트 연습 | 프로그래머스 스쿨개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!school.programmers.co.kr 11. 재구매가 일어난 상품과 회원 리스트 구하기 (GROUP BY, HAVING)SELECT USER_ID, PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID, PRODUCT_IDHAVING COUNT(*) > 1ORDER BY USER_ID ASC, PRODUCT_ID DESC 1..
https://school.programmers.co.kr/learn/challenges?order=recent&levels=2&languages=mysql 코딩테스트 연습 | 프로그래머스 스쿨개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!school.programmers.co.kr 1. 부모의 형질을 모두 가지는 대장균 찾기 (비트 연산)SELECT A.ID, A.GENOTYPE, B.GENOTYPE AS PARENT_GENOTYPEFROM ECOLI_DATA AJOIN ECOLI_DATA BON A.PARENT_ID = B.IDWHERE A.GENOTYPE & B.GENOTYPE = B...