문제에는 left, right, not in을 사용해주셨는데요, 처음에 제가 코드를 짰을 때는 Not LIKE로 사용했거든요. 틀렸다고 나오는데 잘 모르겠어서 질문드립니다. 자세하게 알려주시면 도움이 많이 될 것 같습니다. SELECT DISTINCT city FROM station WHERE lower(city) NOT LIKE '%[aeiou]' OR lower(city) NOT LIKE '[aeiou]%'
안녕하세요 제로초님! 강의 재미있게 잘 듣고있습니다 :D offset 방식에 대해 질문이 있는데요, 게시물들이 많은 게시판의 경우 offset 방식처럼 보이는 페이지네이션이 적용되어있는 것을 많이 보았는데 offset 방식을 사용할경우 조회때문에 데이터가 많을 수록 성능 이슈가 발생한다고 말씀하셔서요, 이 방식과 동일하게 구현하면서 (게시물 신규등록 및 삭제시 보여지는 게시물 변동) 성능 이슈를 해결할 수 있는 방법도 존재하는지 궁금합니다!
안녕하세요 강의 열심히 듣고 있습니다. 감사드립니다. [서브쿼리 실습-02] 수업에 대해 질문이 있습니다. -- 상관 서브쿼리 select * from hr.emp_dept_hist_01 a where todate = ( select max (todate) from hr.emp_dept_hist_01 x where x.empno=a.empno); -- Analytic SQL select * from ( select *, row_number () over ( partition by empno order by todate desc ) as rnum from hr.emp_dept_hist_01 )a where rnum = 1; 위 두 가지 방법의 성능 차이에 대해 궁금합니다. (고객 데이터 분석 업무를 수행하고 있는데, 데이터가 커서 성능이 항상 이슈더라구요) 강의에서 말씀해주신대로, online 처리를 해야한다면 analytic-sql은 sorting을 해야하기 때문에 상관 서브쿼리가 더 성능이 좋을 것 같습니다. 강의에서 분석을 할 때는(배치로 처리할 때) analytic sql이 더 성능이 좋다고 하셨는데 그 이유는 무엇인가요??
강사님 안녕하십니까. 강사님 머신러닝, 딥러닝 강의도 전부 듣고 책까지 산 수강생으로서, 항상 좋은 강의 해주셔서 감사하다는 말씀 먼저 드립니다. 이번 SQL 강의는 제가 최근 스프링 프레임 워크와 스프링 데이터 JPA 를 공부하는 과정에서 데이터 베이스에 관한 공부의 필요성을 느껴 수강하게 되었고 , 그 과정에서 강의에 사용되는 테이블에 대해 궁금증이 생겨 이렇게 질문을 작성하게 되었습니다. 본 SQL 강의에서 사용되는 데이터베이스에서는 몇몇 테이블이 식별 관계로 연결되어 연관된 테이블들의 PK를 복합 식별자로 갖도록 설계되어 있던데 , 실제 업무에서도 테이블 설계 방식이 이와 같은지 궁금합니다. 스프링 데이터 JPA 강의를 수강할 때, 해당 강의의 강사 분은 각 테이블을 비 식별 관계로 설계하여, 업무의 내용과 관계없는 독립적인 ID 칼럼을 생성하여 PK로 설정하는 것이 스프링 데이터 JPA 의 코드 복잡성을 줄이고 업무 관점에서도 테이블간의 의존성을 줄여 추후에 발생하는 문제를 어느 정도 예방할 수 있기 때문에 테이블을 비 식별 관계로 설계하는 것을 선호한다고 하였는데, 권철민 강사님은 테이블을 설계하실 때 식별 관계과 비 식별 관계를 어떠한 기준으로 선택하시는지 질문드리고싶습니다.
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"
이전에 혼자 ddd, 헥사고날 아키텍처를 공부하면서 느꼈던게 객체지향적인 코드 + 테스트하기 용이한 코드를 작성하기 위해서는 결국 domain layer와 persistence layer의 분리가 필수적인데 jpa entity와 domain entity를 완전히 분리했을 때 JPA가 mybatis나 jdbc template를 사용하는 것과 비교해 가지는 강점이 있는지 잘 모르겠습니다.. 그나마 jpa entity와 domain entity를 분리하지 않는다면 어떻게든 온몸 비틀기로 그나마 테스트하기 용이하고 객체지향스러운 코드를 작성해볼 수는 있지만 결국 복잡한 로직에서는 쿼리 때문에 문제가 생기고 ㅜ 지식 공유자님께서는 이 문제에 대해 어떻게 생각하시나요?
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 이라는 문구와 함께 작동이 안되서 어떤게 잘못되었는지 여쭤보고자 합니다...! ㅜ 추가로 맞게 썼다고 생각하는데 오류가 발생하면 어떤 것부터 확인해야할까요?
Collection.Map의 Good 케이스를 알 수 있을까요? 맵을 사용할 때 맵 안에 맵이 있고 이런 형태를 사용하지 않는게 좋은건지 아니면 따로 dto로 변환해서 사용해야하는건지 구분이 안 가서 질문 드립니다 ! 지정된 scope를 넘나들지 않는다는 것도 이해가 가지 않습니다 ㅠㅠ 조금만 더 쉽게 설명 붙여주시면 감사드리겠습니다!
강의에서는 아래와 같이 select 쿼리를 이용해 업데이트 된 회원을 조회후 response로 전달해 주었는데 @PutMapping("/api/v2/members/{id}") public UpdateMemberResponse updateMemberV2(@PathVariable("id") Long id, @RequestBody @Valid UpdateMemberRequest request) { memberService.update(id,request.getName()); Member findMember = memberService.findOne(id); return new UpdateMemberResponse(findMember.getId(), findMember.getName()); } 아래와 같이 하지 않은 이유가 있을까요?? @PutMapping("/api/v2/members/{id}") public UpdateMemberResponse updateMemberV2(@PathVariable("id") Long id, @RequestBody @Valid UpdateMemberRequest request) { memberService.update(id, request.getName()); return new UpdateMemberResponse(id, request.getName()); }
작성해주신 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의 테이블이 형성되고 나서 위 조건을 적용하는 걸까요?
클래스의 상속과 관련된 다형성은 부모객체로 인스턴스를 생성하여 부모클래스의 메소드와 자식클래스 메소드 2가지를 업/다운캐스팅하여 자유롭게 호출할 수 있지만, 단일상속이라는 한계 때문에 다른 부모클래스의 메소드는 호출할 수가 없잖아요? 그래서 인터페이스가 존재하는 이유구요. 마찬가지로, 인스턴스를 생성할 때 다형성을 활용하여 인터페이스 객체(부모 객체)로 생성할 수는 있지만, 이것은 ISP(Interface Segregation Principle)원칙에 따라 detect(), report() 2개의 메소드를 호출하려면 Detectable, Reportable 객체 2개를 생성해야 하기 때문에 메모리가 효율적으로 관리되지 못하는거구요. 따라서 구상클래스인 FactoryCam에서 인터페이스 변수를 직접 생성하고 setter함수로 필요한 인터페이스 변수를 주입한 다음(Dependency Injection) , 주입당한 객체는 인터페이스에 의존하기 때문에(Reportable, Detectable) 동시에 기능이 다른 2가지 메소드를 호출할 수 있는거구요.(Dependency Inversion Principle) ... 과정을 이해하였지만 말로 풀어내니까 굉장히 장황하군요 사실 이 부분은 인터페이스 문법이라기보다는 디자인 패턴과 관련이 있지 않나싶습니다.
방향 그래프 무방향 그래프에 따라서 자료구조에 자료를 저장하는 방법이 다르다고 하셨습니다. 그런데 지금 이 문제에서는 방향그래프 아닌가요?? 간선,엣지들을 보면 모두 방향이 있는 거 같은데, 왜 무방향그래프를 저장할 때처럼 arraylist에 값을 저장하는지 모르겠습니다.
웨더 옵저베이션 문제에 대해 이렇게 답을 구했는데 이전 강의에서 말씀해주신대로 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%'