작성해주신 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;
안녕하세요 제로초님. 항상 질 좋은 강의 감사합니다. offset 방식으로 pagination 구현 시 데이터가 누락될 수 있다는 단점을 설명해주시면서 soft delete 방식으로 구현 시에는 해당 이슈가 괜찮다고 설명해주셨는데요. soft delete 방식으로 구현 시에도 동일한 이슈가 발생할꺼라는 생각이 들어 질문을 남깁니다. soft delete 방식으로 구현 시에도 조회 쿼리를 날릴 때, deleteAt이 null인 값인 data들은 filter 되기 때문에 동일한 이슈가 발생할꺼 같은데 맞을까요? 추가로 삭제 연산을 soft delete 방식으로 구현 시, on delete option을 "casecade"로 설정했다면 부모 row가 삭제되었을 때, 자식 row도 soft delete 처리가 되나요? 아니면 set null 방식으로 처리가 되나요?
안녕하세요, 강의 잘 듣고 있습니다. 스칼라 서브쿼리를 성능문제로 지양해서 써야한다고 말씀하셨는데 혹시 더 구체적으로 알 수 있을지요? 스칼라 서브쿼리나 다른 서브쿼리나 어차피 메인 테이블을 하나씩 읽으면서 조건으로 달리 테이블을 처리하는건 같지 않나요? DB입장에서 혹시 실행계획을 세울 때 어떻게 차이가 날까요? 제대로 질문을 하였는지 잘 모르겠는데 답변 주시면 감사하겠습니다.