SELECT * FROM ( SELECT name , MAX(months*salary) max_earnings FROM employee GROUP BY name ) total_earning ORDER BY max_earnings DESC 제가 위와 같이 쿼리를 작성했었는데요, 예상과는 다르게 모든 사람들의 earnings가 보여지고 MAX earning 하나만 보여지지는 않더라고요. 그 이유가 name 으로 GROUP BY 했기 때문인가요?
SELECT * FROM ( SELECT name , months*salary FROM employee ) total_earnings -- 여기까지는 잘 나오는데 ORDER BY months*salary DESC--여기서 갑자기 1054(42S22) 오류 처음에 위와 같이 코드를 작성했는데 오류가 발생해서 다음과 같이 시도해봤는데요. 시도 1) SELECT * FROM ( SELECT name , months*salary FROM employee ) total_earnings ORDER BY employee.months*employee.salary DESC 각 months랑 salary가 어디 컬럼인지 명확한 것 같지 않아서 테이블을 employee로 지정하고 해줬는데 계속 오류가 뜨더라고요. 그래서 다음과 같이 다시 시도했는데 됐어요. 시도 2) SELECT * FROM ( SELECT name , months*salary earnings FROM employee ) total_earnings ORDER BY total_earnings.earnings DESC 여기 과정에서 질문이 생겼는데요!! 시도 1처럼 곱셈할 때 '테이블명.컬럼명' 하면 원래 적용이 안 되는 건가요? 서브쿼리 테이블명 지정할 때 alias 사용은 못하나요? 시도해봤는데 자꾸 에러가 떠서요!
안녕하세요! weather observation station 12 문제 풀이 중, not like 와 <> 의 차이에 대해 궁금한 부분이 생겨 문의드립니다. 커뮤니티 게시판을 살펴보며 유사한 문의와 답변을 확인했는데요. (where 해커랭크 문제풀이2 > 커뮤니티 > 21.1.9 작성 게시글) 답변 내용 중, <>를 사용한 예시는 'happy'를 걸러내는 건 맞지만, '%happy%'를 걸러내는 조건문은 아닌 것 같아서요. <> '%happy%' 로 작성하면 unhappy라는 텍스트에는 happy라는 단어가 들어가있으니 출력이 되지 않을 것 같은데요... 만약 출력이 된다면 1) <>는 like의 의미가 없는 ≠의 의미이며 2) <> '%happy%'에서 %는 와일드카드가 아닌 텍스트로 인식한다 로 이해하면 될까요?? [참고 - 아래 문의 중 답변내용] 조건이 데이터 not like '%happy%' 일 경우 happy라는 글자가 어떤식으로라도 들어가 있을 경우 데이터가 출력되지 않습니다. 즉, 'unhappy'라는 텍스트 데이터는 '%happy%'의 패턴에 포함되므로 출력되지 않습니다. 그러나 조건이 데이터 <> 'happy' 일 경우 'unhappy'라는 텍스트는 'happy'라는 텍스트와 같은 것이 아니므로 출력이 가능합니다. 문제 풀어보시면서 여러가지 경우의 수에 대하여 not like와 <>으로 실험을 해보시면 이해가 빠르실 것으로 생각됩니다. [참고2 - 제가 풀이한 방법] SELECT DISTINCT city FROM station WHERE city <> "a%" and city <> "e%" and city <> "i%" and city <> "o%" and city <> "u%" and city <> "%a" and city <> "%e" and city <> "%i" and city <> "%o" and city <> "%u"
SELECT AVG(CASE WHEN CategoryID = 1 THEN PRICE ELSE NULL END) AS CATEGORY1_PRICE, AVG(CASE WHEN CategoryID = 2 THEN PRICE ELSE NULL END) AS CATEGORY2_PRICE, AVG(CASE WHEN CategoryID = 3 THEN PRICE ELSE NULL END) AS CATEGORY3_PRICE, FROM Products 다음과 같이 작성하였는데 from synthe 이라는 문구와 함께 작동이 안되서 어떤게 잘못되었는지 여쭤보고자 합니다...! ㅜ 추가로 맞게 썼다고 생각하는데 오류가 발생하면 어떤 것부터 확인해야할까요?
작성해주신 INNER JOIN 결과가 왜 아래와 같이 나오는지 잘 모르겠습니다. p1.Id p1.Email p2.Id p2.Email 1 john@example.com 1 john@example.com 1 john@example.com 3 john@example.com 2 bob@example.com 2 bob@example.com 3 john@example.com 1 john@example.com 3 john@example.com 3 john@example.com email을 기준으로 join한다고 했을때 id값은 어떻게 결정되나요? p1테이블에서 두번째 행에 왜 위와 같은 값이 들어가는지 잘 모르겠습니다. p1.Email = p2.Email이 같다는 조건도 이미 p2의 테이블이 형성되고 나서 위 조건을 적용하는 걸까요?
웨더 옵저베이션 문제에 대해 이렇게 답을 구했는데 이전 강의에서 말씀해주신대로 where city like 에 in을 삽입해서 간단히 쓸 수는 없는지 궁금합니다. 여러군데에 in을 조합하여 쿼리를 짜봤는데 나오지가 않아서요 ㅜ SELECT DISTINCT CITY FROM STATION WHERE CITY LIKE 'i%' OR CITY LIKE 'e%' OR CITY LIKE 'a%' OR CITY LIKE 'o%' OR CITY LIKE 'u%'
SELECT * FROM students s LEFT JOIN Friends f ON s.id = f.id 위에 코드랑 SELECT * FROM students s LEFT JOIN Friends f ON s.id = f.friend_id 아래 코드 두 개로 해봤는데요. 아직도 JOIN 뒤에 ON 조건을 쓰는 게 헷갈려요. 첫 번째 코드로 했을 때의 친구id랑 두 번째 코드로 했을 때의 친구id가 완전 달라지더라고요. 왜 그런건가요??
안녕하세요 강사님, 오늘부터 새로 강의를 듣게 되었는데 완강 목표로 열심히 듣겠습니다 ㅎㅎ 강의 초반 환경설정에서 ga_export.sql이 large text여서 Dbeaver에서 스크립트 실행할 때 j ava heap space 부족 에러 가 발생하더라고요. 이 때 터미널로 쉽게 불러올 수 있는 방법을 찾았고, 다른 수강생분들에게도 도움이 될 것 같아 공유드립니다. 아래 스샷처럼 터미널에서 sudo -iu postgres psql 입력 후 \i [ga_export.sql이 위치한 경로] 를 입력하면 쉽게 ga 데이터를 불러올 수 있습니다.
안녕하세요 184번을 풀다가 의문이 생겨서요 저는 LEFT JOIN을 통해서 답을 얻으려고 했는데 답이 나오진 않더라구요 LEFT JOIN 을 통해서 답을 구할 수 있는 방법은 없나요..? SELECT de.name as Department, em.name as Employee, em.Salary FROM employee as em LEFT JOIN department as de ON em.departmentId=de.id WHERE salary = (SELECT MAX(salary) FROM employee) LIMIT 3;