본문 바로가기

전체 글143

SQLZOO The JOIN operation 문제 풀이 1. Modify it to show the matchid and player name for all goals scored by Germany. To identify German players, check for: teamid = 'GER SELECT matchid,player FROM game join goal on matchid=id WHERE teamid='GER' 2. Notice in the that the column matchid in the goal table corresponds to the id column in the game table. We can look up information about game 1012 by finding that row in the game table .. 2022. 1. 19.
해커랭크 HackerRank New Companies Advanced Select 문제 설명 Given the table schemas below, write a query to print the company_code, founder name, total number of lead managers, total number of senior managers, total number of managers, and total number of employees. Order your output by ascending company_code. Note: The tables may contain duplicate records. The company_code is string, so the sorting should not be numeric. For example, if the compan.. 2022. 1. 19.
해커랭크 HackerRank Binary Tree Nodes Advanced Select 문제 Write a query to find the node type of Binary Tree ordered by the value of the node. Output one of the following for each node: Root: If node is root node. Leaf: If node is leaf node. Inner: If node is neither root nor leaf node. Sample Output 1 Leaf 2 Inner 3 Leaf 5 Root 6 Leaf 8 Inner 9 Leaf 문제 풀이 노드 상태에 따라 출력되는 값이 달라져야 하기 때문에 case문을 적용 시킨다. order by로 N의 오름차순에 따라 값을 정렬하고 nodeType을 결정하는 것은 부.. 2022. 1. 19.
해커랭크 HackerRank The PADS Advanced Select The PADS Query an alphabetically ordered list of all names in OCCUPATIONS, immediately followed by the first letter of each profession as a parenthetical (i.e.: enclosed in parentheses). Query the number of ocurrences of each occupation in OCCUPATIONS. Sort the occurrences in ascending order, and output them in the following format: where [occupation_count] is the number of occurrences of an occ.. 2022. 1. 19.
SQLZOO SELECT BASIC 문제 풀이 2. name,population을 보여주고 Sweden,Norway,Denmark를 선택한다. SELECT name, population FROM world WHERE name IN ('Sweden', 'Norway', 'Denmark'); 3. 200000과 250000 area를 구하라 SELECT name, area FROM world WHERE area BETWEEN 200000 AND 250000 4. Show the name and population in millions for the countries of the continent 'South America'. Divide the population by 1000000 to get population in millions. select n.. 2022. 1. 19.
해커랭크 HackerRank The Report Basic Join The Report Students 테이블은 ID, NAME, MARKS / Grades 테이블은 Grade, Min_Mark, Max_Mark가 있다. Students의 Marks를 통해 Grade 테이블의 점수 범위대로 Grade를 구해야 한다. 또한 Grade가 8 미만인 학생은 이름이 아닌 NULL을 출력해야 한다. 정렬은 1. Grade 내림차순, 2. 이름 오름차순이다. SELECT IF(GRADE < 8, NULL, NAME), GRADE, MARKS FROM STUDENTS JOIN GRADES WHERE MARKS BETWEEN MIN_MARK AND MAX_MARK ORDER BY GRADE DESC, NAME 2022. 1. 19.
해커랭크 HackerRank Type of Triangle Advanced Select Type of Triangle - CASE END를 활용해야 합니다. Write a query identifying the type of each record in the TRIANGLES table using its three side lengths. Equilateral: It's a triangle with 3 sides of equal length. Isosceles: It's a triangle with 2 sides of equal length. Scalene: It's a triangle with 3 sides of differing lengths. Not A Triangle: The given values of A, B, and C don't form a triangle SELECT CAS.. 2022. 1. 19.
해커랭크 Hackerrank SQL BASIC Select 문제풀이 MYSQL 기준 풀이입니다.!! Revising the Select Query I - City 테이블에서 countrycode가 USA이며 population이 100000 초과인 컬럼을 호출하라는 문제입니다. SELECT * FROM CITY WHERE countrycode = "USA" AND population > 100000; Revising the Select Query 2 - 같은 맥락의 문제로 생략하겠습니다. Select By ID - id가 1661인 컬럼을 찾으라는 문제입니다. SELECT * FROM CITY WHERE id=1661 Weather Observation Station 4 - 전체 city의 개수와 중복이 제거된 city의 개수를 빼라는 문제입니다. SELECT COUNT.. 2022. 1. 19.
스프링 레디스 Redis 에러 Creating Server TCP listening socket *:6379: bind: No error 실행 환경 - 윈도우 , redis 3.0.504 버전 혹시나 이 오류를 만나셨다면 1. cmd를 관리자 권한으로 실행 시켜주세요 2. redis-cli.exe를 실행 시켜주세요 3. shutdown을 입력한 후에 exit로 종료해주세요 4. redis-server.exe redis.windows.conf를 cmd 창에 입력하면 redis server가 실행됩니다!! 2022. 1. 18.
entitygraph 사용시 주의할 점 다중 엔티티 그래프를 사용할땐 주의할 점이 있습니다.. 몰랐던 부분인데 JPA에서 Fetch join의 조건이 있었습니다. ToOne 관계는 몇 개든 사용할 수 있다 ToMany 관계는 다중 그래프 관계에서 한 곳만 쓸 수 있다. 기존 코드에서는 ToMany 관계가 두 개 모두 되어 있어 이러한 에러를 만나게 되었습니다. org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags: [com.ireland.ager.account.entity.Account.products, com.ireland.ager.product.entity.Product.urlList] @NamedEntityGraph( name = .. 2022. 1. 18.
스프링부트 JPA N+1 문제와 해결 방법 N+1 문제??? 스프링에서 객체 간 연관 관계 설정시에 발생하는 문제로 조회한 데이터만큼의 SQL 쿼리가 추가적으로 발생해 읽어오는 문제를 말합니다. Fetch 전략을 Lazy나 Eager 어떤 전략과 상관없이 N+1 문제는 발생하게 됩니다. 원인 스프링에서 SQL 조회 쿼리를 날려주는 JPQL(Java Persistence Query Language)를 실행하게 되면 JPA가 분석해 쿼리를 작성하게 됩니다. 그러나 JPQL은 Fetch 전략에 대한 정보가 없기 때문에 개발자가 선택한 특성을 무시하고 쿼리를 작성하게 됩니다. 해결 방법 Fetch Join 사용법 @Query("select a from Account a join fetch a.product") List findAllByProducts().. 2022. 1. 18.