SQL
-
MySQL 권한 설정SQL 2021. 4. 29. 16:53
MySQL 권한 설정 5.x 버전까지는 테이블에 권한을 추가하면서 아이디를 생성해주는게 가능했다. GRANT ALL PRIVILEGES ON target_database.* to 'user_name'@'localhost' identified by 'user_pass'; 하지만 8.x 버전으로 올라오면서, 유저를 먼저 생성해줘야 구문이 통과가 됐다. (위의 쿼리를 실행하면 quote( ' )가 조금 이상하게 찍힌 쿼리로 변경되어 실행됐다.) CREATE USER 'user_name'@'localhost' identified by 'user_pass'; GRANT ALL PRIVILEGES ON target_database.* to 'user_name'@'localhost'; 이렇게 순차적으로 유저를 먼저 ..
-
프로그래머스) [SQL 고득점 KIT, JOIN] 없어진 기록 찾기, 있었는데요 없었습니다, 오랜 기간 보호한 동물(1), 보호소에서 중성화한 동물SQL 2020. 6. 4. 21:49
없어진 기록 찾기 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 유실된 데이터를 찾는 문제기 때문에, OUTER JOIN을 이용해야하는 문제이다. 편의에 따라 LEFT, RIGHT를 사용하면 되는데, LEFT JOIN은 FROM 테이블을 기준으로 오른쪽에 JOIN 테이블은 붙이는 것이고, RIGHT JOIN은 JOIN테이블은 기준으로 FROM 테이블을 왼쪽에 붙이는 것으로 알고있다. WHERE 절로..
-
프로그래머스) [SQL 고득점 KIT] 입양 시각 구하기, 중성화여부, 오랜기간 보호한 동물(2), DATETIME에서 DATE로 변환, NULL 처리하기SQL 2020. 6. 4. 21:36
이전에 풀었던 한번씩 풀었던 문제들이지만, 리마인드를 위해 한번 다시 훑어봤다. 입양 시각 구하기 코딩테스트 연습 - 입양 시각 구하기(2) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 풀기에 어려웠던 문제였다. 처음에도 그렇고, 지금도 그렇고 아직도 모르겠다.. SQL에서 변수를 설정하고 (편의상)반복문을 돌린 적이 없으니.. 아무튼 MySql에서는 SET을 통해 변수를 설정할 수 있다. SET @변수명 = 초기값; 으로 변수를 만들어 줄 수 있..
-
MySQL) ChallengesSQL 2020. 6. 4. 15:03
Challenges Challenges | HackerRank Print the total number of challenges created by hackers. www.hackerrank.com 해도해도 안는다... 어렵고 어렵다.. ㅠㅠ 사이트에서 Join 문제 중에 딱 중간 난이도 문제인데, 어제도 그렇고 오늘도 그렇고 풀지 못했다.. 각각 해커가 주최한 대회의 수를 구하고, 최대값인 경우에만 모든 해커 리스트를 보여주고, 최대값이 아닌 경우에는 대회의 수가 겹치면 보여주지 않는 Query를 짜야하는게 문제 조건이다. 어찌어찌 대회수를 구하고 최대값부터 정렬을 해주기는 했으나, 최대값이 아닌 경우 대회 수가 겹칠 때를 제거하지 못했다. 그렇게 40분? 정도가 흐르고 포기했다... 그리고 구글링을 ..
-
MySQL) Ollivander's InventorySQL 2020. 6. 3. 18:41
Ollivander's Inventory Ollivander's Inventory | HackerRank Help pick out Ron's new wand. www.hackerrank.com 참 어렵지 않은 것 같으면서도 어려운 문제였다. 결론적으로 내 힘으로 풀지 못했다. 같은 코드에서 돈이 최소로 드는 지팡이 중에 힘이 센 순서대로, 연식이 오래된 순서대로 보여주는 쿼리문을 작성하라고 조건이 있는데, 같은 코드에서 돈이 최소인 지팡이만 뽑아내는데 실패했다. 단순히 WANDS와 WANDS_PROPERTY만 INNER JOIN을 통해 엮어주어 실패한 것 같다. ( 아직까지도 조인문을 한번만 이용하고도 풀 수 있는 방법이 있는지 모르겠다. 없을 것 같다..) 구글링을 통해 Self Join을 이용하는 방..
-
MySQL) Top CompetitorsSQL 2020. 6. 3. 09:52
Top Competitors Top Competitors | HackerRank Query a list of top-scoring hackers. www.hackerrank.com 최근 여러 시험을 보면서, SQL이 잘 기억나지 않아 연습문제를 풀고 있다. 원래는 프로그래머스 고득점Kit만 풀고 끝내려고 했으나, 시험 난이도가 프로그래머스에 있는 문제보다 높은 수준의 문제들이 나왔어서 새롭게 sql 사이트를 찾았다. sqlzoo라는 곳도 있었고, 지금 풀고있는 곳은 HackerRank라는 곳이다. 아무튼 이 문제는 4개의 테이블에 대해 조인문과 Group by, Having, Order by, Count를 사용하는 종합 문제다. 특정 hacker가 참여한 대회에서 만점받은 이력이 2번 이상일 경우 테이블..