본문 바로가기
반응형

전체 글531

PostgreSQL WHERE와 HAVING, 합계가 달라지는 이유를 작은 예제로 확인해요 팀별 완료 금액 합계가100 이상인 팀을 찾으려고 했는데, WHERE amount >= 100을 넣자 예상보다 팀이 줄어들어요. 합계를 구한 다음100 이상을 고르고 싶었는데, 합계를 구하기 전에 작은 입력 행을 먼저 없앤 셈이에요. SQL의 위치 하나가 숫자의 의미를 바꾸는 대표적인 상황입니다. WHERE는 집계에 들어갈 개별 행을 고르고, HAVING은 묶어서 계산한 그룹을 고른다고 생각하면 시작하기 좋아요. 다만 ‘HAVING은 GROUP BY가 있어야만 쓸 수 있다’처럼 예외 없는 구호로 외우지는 마세요. 지금 비교할 질문은 건별 금액이100 이상인지, 팀의 완료 금액 합계가100 이상인지예요. 둘의 대상을 먼저 구분해 봅시다. 2011년 pgAdmin의 실제 SQL 편집·계획 자료 화면이에요. .. 2026. 10. 20.
PostgreSQL LEFT JOIN인데 회원이 사라져요: ON과 WHERE의 질문이 달라요 회원 전체에 결제 정보를 붙이려고 LEFT JOIN을 썼는데, 결제 완료 조건을 넣자 회원 몇 명이 사라져요. 분명 왼쪽 테이블은 모두 남긴다고 배웠는데 결과는 내부 조인처럼 보이지요. 이때 가장 먼저 볼 곳은 JOIN이라는 단어보다 결제 상태 조건이 ON에 있는지 WHERE에 있는지예요. 짧게 답하면 ON은 어떤 오른쪽 행을 연결할지 정하고, WHERE는 연결 결과 중 어떤 행을 최종적으로 남길지 정해요. 외부 조인에서는 이 둘을 단순히 보기 좋은 위치로 옮길 수 없어요. 회원을 모두 유지하며 완료 주문만 붙일지, 완료 주문이 있는 회원만 볼지부터 결정해야 해요. 둘 다 정상적인 질문이지만 같은 결과를 요구하지 않습니다. 2011년 pgAdmin의 실제 SQL 편집·조인 계획 자료 화면이에요. ON과 .. 2026. 10. 20.
패스키, 휴대폰만 바꾸면 따라올까요? 저장 관리자와 기기 고정을 구분해요 평소에는 휴대폰에 얼굴을 보여 주거나 손가락을 대기만 하면 로그인이 끝나요. 그래서 휴대폰을 바꿀 때도 사진처럼 함께 옮겨지겠거니 생각하기 쉬워요. 하지만 패스키를 어디에 저장했는지에 따라 준비할 일이 달라요. 새 기기에 앱을 설치했다는 사실과 그 앱의 패스키로 로그인할 수 있다는 사실은 같지 않습니다. 기기 교체 전에 먼저 볼 것은 ‘지문을 등록했나’보다 ‘이 계정의 패스키를 어떤 관리자가 보관하나’예요. 동기화되는 비밀번호 관리자에 저장한 패스키와 특정 기기나 별도 보안 키에 묶인 패스키를 구분해 보세요. 오늘은 등록 버튼을 빠르게 누르는 방법보다, 이전 기기를 없애기 전에 확인해야 할 저장 범위를 정리해요. 2023년 iPhone 15 실물 자료예요. 새 휴대폰이 켜지고 앱이 설치됐다는 것만으로 기.. 2026. 10. 20.
이집트 유물의 파란 하마와 작은 배, 장식처럼 보여도 쓰임은 달라요 박물관의 이집트 유물을 사진으로 보다 보면 파란 하마가 먼저 눈에 들어옵니다. 둥글고 작아서 책상 위 장식처럼 보이기도 해요. 옆의 작은 배와 사람 모형까지 이어서 보면 오래된 장난감 모음인가 싶지만, 겉모양이 친근하다고 원래 쓰임까지 지금의 물건과 같았던 것은 아닙니다. 이럴 때는 이름 다음에 세 가지를 확인해 보세요. 무엇으로 만들었는지, 실제 크기가 얼마인지, 어떤 맥락에서 쓰이거나 발견되었는지입니다. 이 세 줄을 함께 읽으면 예쁜 모양 뒤에서 전혀 다른 역할이 드러나요. 신기한 고대 이야기만 모으기보다 눈앞의 물건을 더 정확히 보는 방법이에요. 이번에는 메트로폴리탄미술관의 실제 소장품 다섯 점을 살펴봅니다. 서로 제작 시기가 다르므로 한 시대의 한 사람 소유품 세트로 묶지는 않았어요. 직접 현장을.. 2026. 10. 20.
축구 골키퍼 8초 규칙, 일어난 순간이 아니라 손으로 통제한 때부터 봐요 골키퍼가 슛을 잡은 뒤 잔디에 잠시 누워 있습니다. 일어나서 동료를 찾고, 공을 한 번 바닥에 튀긴 다음 멀리 차요. 중계에서 시간이 길었다는 말이 나오면 누구나 속으로 숫자를 세기 시작하지만, 어디서부터 세었는지가 서로 다를 수 있습니다. 현행 규정에서 볼 출발점은 골키퍼가 일어섰느냐가 아니라 자기 페널티 구역 안에서 손이나 팔로 공을 통제하기 시작했느냐예요. 그 상태로 공을 놓기 전까지 8초를 넘기면 상대에게 코너킥이 주어집니다. 심판이 들어 보이는 손은 전체 8초의 시작 신호가 아니라 마지막 5초의 카운트다운이라는 점도 함께 기억해 두면 좋습니다. 2023년 미군 축구대회에서 골키퍼가 공을 잡는 실제 장면입니다. 손으로 공을 통제하는 상태를 설명하는 자료이며, 사진 속 선수가 시간 위반을 했다는 뜻.. 2026. 10. 20.
배구 리베로는 왜 다른 색 옷을 입을까? 공격선 앞 토스까지 구분해요 배구를 처음 보다가 같은 팀에서 한 명만 다른 색 옷을 입은 모습을 발견하면, 주장이나 특별한 득점 선수인가 싶을 수 있어요. 중계를 조금 더 보면 그 선수는 뒤쪽에서 공을 받아내고, 어느 순간 벤치 쪽으로 나갔다 다시 들어옵니다. 왜 그 선수만 다른 방식으로 움직일까요? 그 선수는 보통 리베로예요. FIVB 규정에서 리베로는 후위 수비 전문 선수로, 다른 선수와 확실히 구분되는 유니폼을 입습니다. 수비를 잘한다는 소개만으로 끝내면 놓치는 규칙도 있어요. 공격과 블록, 서브에 제한이 있고, 앞쪽 구역에서 손가락으로 올린 공은 이어지는 동료의 공격에도 조건을 만듭니다. 2014년 월드그랑프리의 한국 대표팀 자료사진입니다. 짙은색 10번 김연경과 붉은색 8번 김해란의 유니폼 대비가 보입니다. 현재 대표팀이나.. 2026. 10. 20.
반응형