본문 바로가기

개발일지/SQL92

SQL 기초 22 HAVING (GROUP BY와 셋트메뉴라고 보면 된다) HAVING #문제1 conditions we are launching a platinum service for our most loyal customers. We will assign platinum status to customers that have had 40 or more transaction payments. question what customer ids are eligible for platinum status? answer SELECT customer_id, COUNT(*) FROM payment GROUP BY customer_id HAVING COUNT(*) >= 40 ….. 지금 쿼리실행하고 3분째 기다리고 있는데도 답이 안나온다 진심으로 이걸 어떻게 쓰는거지? 이건 단단히 뭔가에 .. 2022. 8. 25.
SQL 기초 21 GROUP BY (ft.postgreSQL 개느리네 진짜..) 아... postgreSQL을 버릴까도 생각했는데, 강의 자체가 이걸로 진행되는걸 내가 어떻게 하냐.. 그래서 혹시 몰라 지우고 다시 설치해봤다. 그랬더니 마찬가지로 처음 10쿼리정도는 쌩쌩하게 잘 돌아가더니 이후 쿼리부터는 진짜 대중이 없다. 오바 안하고 빠르면 2초 (매우 드뭄) 보통은 1분 30초쯤 (매우 잦음) 보통 다음 빈도로는 3분 이상... 하... (약간 잦음) 왜 이걸 쓰지? 싶기도 한데 postgreSQL이 ANSI 표준을 가장 잘지키는 오픈소스라 호환성이 좋다고 한다. 진짜 아.... 근데 왜 이렇게 느리며, 느린걸 잡을 만한 정보가 이리도 없다는게 이상하다 싶었다. 쿼리 느린거 관련해서 검색하면 어떻게 로그남기는지나 나오지 어디에 정확히 기입을 해야하는지에 대한 정보도 불분명하고 그.. 2022. 8. 25.
SQL 기초20 집합연산자 UNION, UNION ALL, INTERSECT, EXISTS, ANY # 집합 연산자 #1 UNION (합집합) *중복값은 제거 SELECT lname, fname FROM tbl_club_a UNION SELECT sung, irum FROM tbl_club_b; #2 UNION ALL *중복값은 제거하지 않고 모두 보여준다. 예제1 SELECT lname, fname, FROM tbl_club_a UNION ALL SELECT sung, irum FROM tbl_club_b; 예제2 SELECT * FROM tbl_club_a WHERE no < 3 UNION SELECT * FROM tbl_club_b WHERE no < 3 ORDER BY no DESC; #3 INTERSECT *교집합 SELECT lname, fname FROM tbl_club_a INTERSEC.. 2022. 8. 25.
SQL 기초 19 뷰(view) #1 뷰 뷰는 확실히 흥미로운 부분이긴 했다. 가상의 공간에서 움직이는 것이기 때문이다. 물론sql도 가상의 공간이긴 하지만 임시로 쓸 가상의 공간이 뷰고 진짜로 쓸 가상의 공간이 sql이라고나할까 전체적으로 봤을때 view는 가상의 출력 환경에서 보여지는 거라고 한다. 조금 나중에는 유용할 것같지만, 지금 당장에는 쓸모가 없어보인다. 1)뷰 생성 CREATE VIEW view_ateam AS SELECT name, name FROM tbl_name WHERE team = ‘A’; 이거는 문법구조가 다른 것이랑 반대되는것 같다; 보통 컬럼명이 앞에 쓰이고 AS의 오른쪽에 있는게 표현되는데 이거는 컬럼명으로 표현해줄것이 AS의 왼쪽에 온다. 결과물로는 view_ateam fanme sname 홍 길동 김 .. 2022. 8. 25.