부트 스트랩 다운로드 https://getbootstrap.com/docs/5.3/getting-started/download/ DownloadDownload Bootstrap to get the compiled CSS and JavaScript, source code, or include it with your favorite package managers like npm, RubyGems, and more.getbootstrap.com bootstrap-5.3.3-dist폴더 안에 들어가면 js랑 css 폴더가 있다.두 개 드래그하고 복사한 후 이클립스로 돌아와서 webapp에 붙여넣기 해서 추가 js는 엑스 뜨는게 많아서 그냥bootstrap.bundle.min.jsCDN으로 추가 ⚡ 부트스트랩..
My Tech Blog (MySQL)
📑 1. 문제설명💡 2. 접근방식FILE_PATH 출력 예시를 보고 '/home/grep/src/' + F.BOARD_ID + '/' + F.FILE_ID + F.FILE_NAME + F.FILE_EXT이렇게 문자열이 결합된 구조라는 걸 알 수 있었다. CONCAT으로 해당 문자열을 모두 결합 해 준다. 처음에는 헷갈려서 + 연산자로 했는데 ,로 결합을 해 줘야 한다. 두 테이블 조인할 때는 BOARD_ID 컬럼을 기준으로 조인 해 준다. WHERE 절에서 서브쿼리를 쓴다. 먼저 USED_GOODS_BOARD를 조회수 컬럼(VIEW) 기준으로 내림차순 해 주고 그 중 가장 높은 것만 가져와야 하니까 LIMIT1 을 걸어준다. 마지막으로 FILE_ID로 내림차순 정렬하면 끝~! 쉽다⭐ 3. 정답코드..
1. 문제 설명2. 접근방식ECOLI_DATA는 부모-자식간의 계층 관계를 이루고 있기 때문에 각 세대별로 자식이 없는 개체의 수를 출력하려면 재귀 CTE를 사용해서 대장균의 세대generation)를 계산해 주어야 한다. WITH RECURSIVE 블록을 먼저 지정 해 주고, 블록 바깥에서 세대별로 자식이 없는 개체수를 조회하는 쿼리를 짜 주면 된다. WITH RECURSIVE 블록은 또 두 부분으로 나뉘는데, 먼저, PARENT_ID IS NULL인 조건으로 데이터를 조회해서 1세대(AS GENERATION)를 규정 해 준다. 두 번째로 할 일은, 이 1세대 컬럼을 기준으로 +1을 해서 계층 구조를 조회 하는 것이다. 즉, 부모 개체로부터 자식의 세대 수를 계산 해 주는 것이다. Generation ..
어려워서 미루다가 못 푼 문제가 2개 있었다. Lv4 문제 1개랑 Lv5 문제 1개이다. 난이도 최상인 만큼, 문제 읽기도 전에 풀기가 두려운 마음이 있었다. 이 문제는 왠지 오랫 동안 노트북 앞에 앉아서 머리 많이 쓰고 고민해 봐야 될 것 같아서 하기싫었다. MySQL에서는 START WITH CONNECT BY가 안된다는 거 알고부터는 또 새로운거 배우기 싫어서 미뤘는데 오늘 얼른 끝내버리고 자야지1. 문제설명2. 접근방식처음에는 어려워 보여서 문제를 읽고 뭘 구해야 하는지 생각의 흐름을 한글로 받아 적어 봤다. PARENT_ID가 NULL이면 1세대이다. PARENT_ID가 NULL인 ID를 부모로 가지는 행이 2세대 이다. PARENT_ID가 NULL인 ID를 부모로 가지는 행의 ID를 부모로 가..
1. 문제 설명 2. 접근 방법문제를 보고 든 생각은 `연관 컬럼이 없을 때는 테이블을 어떻게 조인하는가?` -> 그래서 카테시안 곱이 떠올랐다.모든 조합을 생성하는 경우를 카테시안 곱(Cartesian Product)이라고 하는데 CROSS JOIN 해 주는 것이다.일단 여기까지만 작성 하고 쿼리를 실행시켜 보기로 했다. 테이블이 옆으로 붙었다. 여기서 날짜별로 GROUP BY 해 보고 뭔가 해 보려고 했는데 중간에 기가 막힌 생각이 났다.테이블을 옆이 아니라 아래로 붙이면 되겠다. 그럼 UNION ALL을 써 보는게 어떨까?그래서 아래로 데이터를 붙이는게 좋겠다고 생각했다.그리고 중복값을 없애면 안되기 때문에 UNION이 아니라 UNION ALL... 설마...!! SELECT SALES_DATE..
난이도 3이라 어려울 줄 알았는데 너무 쉬워서 그냥 코드만 포스팅합니다. 대장균의 크기에 따라 분류하기 1 정답코드SELECT ID, SIZEFROM ( SELECT ID, CASE WHEN SIZE_OF_COLONY > 1000 THEN 'HIGH' WHEN SIZE_OF_COLONY 대장균의 크기에 따라 분류하기 2 문제대장균 개체의 크기를 내림차순으로 정렬했을 때 상위 0% ~ 25% 를 'CRITICAL', 26% ~ 50% 를 'HIGH', 51% ~ 75% 를 'MEDIUM', 76% ~ 100% 를 'LOW' 라고 분류합니다. 대장균 개체의 ID(ID) 와 분류된 이름(COLONY_NAME)을 출력하는 SQL 문을 작성해주세요. 이때 결과는 개체의 ID 에 대해 오름..
[목차]1. 경기도에 위치한 식품창고 목록 출력하기2. 이름이 없는 동물의 아이디 / 이름이 있는 동물의 아이디3. NULL 처리하기4. 나이 정보가 없는 회원 수 구하기5. ROOT 아이템 구하기6. 잡은 물고기의 평균 길이 구하기7. ⭐업그레이드 할 수 없는 아이템 구하기1. 경기도에 위치한 식품창고 목록 출력하기SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, (IFNULL(FREEZER_YN,'N')) AS FREEZER_YNFROM FOOD_WAREHOUSEWHERE ADDRESS LIKE '경기도%'ORDER BY WAREHOUSE_ID;2. 이름이 없는 동물의 아이디 & 이름이 있는 동물의 아이디SELECT ANIMAL_IDFROM ANIMAL_INSWHERE..
1. 문제설명 2. 접근방식 & 정답코드 문제만 읽어도 아이템이 상위 아이템으로 업그레이드 될 수 있는 걸 보니, 계층구조를 가지고 있다고 보여진다. 1. 먼저 ITEM_INFO테이블에서 RARITY 가 'RARE'인 아이템들의 ITEM_ID 값을 찾는다.2. ITEM_INFO 테이블의 ITEM_ID랑 ITEM_TREE의 PARENT_ITEM_ID가 같다는 조건으로 ITEM_INFO와 ITEM TREE 테이블을 조인했다. WHERE 절에 1조건을 달아서 ITEM_TREE.PARENT_ITEM_ID가 1조건 에 해당하는지 찾아 준다. 계속 틀린다....ㅋㅋㅋㅋㅋㅋㅋㅋ아이고 머리야 🐦 JOIN 1번 하는 정답코드SELECT ITEM_INFO.ITEM_ID, ITEM_INFO.ITEM_NAME, ITE..