2026/05/24 4

Ch12. 검색어 자동완성 시스템(1)

문제 이해 및 설계 범위 확정사용자는 입력하는 단어는 자동 완성될 검색어의 첫 부분이어야 하나요? 아니면 중간 부분이 될 수도 있나요?(ex. 첫 부분으로 한정하겠습니다.)몇 개의 자동완성 검색어가 표시되어야 하나요?(ex. 5개입니다.)자동 완성 검색어 5개를 고르는 기준이 무엇인가요?(ex. 질의 빈도에 따라 정해지는 검색어 인기 순위를 기준으로 삼겠습니다.)맞춤법 검사 기능도 제공해야 하나요?(ex. 아뇨. 맞춤법 검사나 자동 수정은 지원하지 않습니다.)질의는 영어입니까?(ex. 네 하지만 시간이 허락한다면 다국어 지원을 생각해도 좋습니다.)대문자나 특수 문자 처리도 해야 합니까?(ex. 아뇨 모든 질의는 영어 소문자로 이루어진다고 가정하겠습니다)얼마나 많은 사용자를 지원해야 합니까?(ex. 일간 ..

Ch01. 내부 조인 - 내부 조인(3)

실무 팁: 조인 순서는 언제 중요할까? 내부 조인에서는 결과가 같으므로 어떤 순서로 작성해도 무방하다. 하지만 쿼리를 읽는 사람의 입장에서 어떤 데이터가 중심이 되는가에 따라 순서를 정하면 가독성이 높아진다주문 목록을 중심으로 고객 정보를 추가하고 싶다면 "FROM orders JOIN users"고객 목록을 중심으로 주문 정보를 조회하고 싶다면 "FROM users JOIN orders" "OUTER JOIN" 에서는 조인 순서가 결과에 매우 큰 영향을 미친다. 하지만 "INNER JOIN"에서는 교집합을 선택하기 때문에 순서와 상관없이 결과는 항상 같다 가독성을 높이는 테이블 별칭(Alias) 앞선 쿼리들을 보면 "users.user_id" , "orders.status" 처럼 테이블 이름을 계속 반..

Ch01. 내부 조인 - 내부 조인(2)

조인과 집합내부 조인("INNER JOIN" )은 두 테이블의 교집합을 찾는 것과 같다. 두 집합(테이블)에서 공통된 원소(연결 컬럼의 값이 일치하는 데이터)만을 결과로 반환한다.A 집합: "orders" 테이블에 있는 모든 사용자들의 "user_id" 집합B 집합: "users" 테이블에 있는 모든 "user_id" 집합"INNER JOIN"은 은 A 집합과 B 집합에 모두 포함된"user_id"에해당하는 데이터만을 결합하여 보여준다. 벤 다이어그램으로 이해하기"orders" 집합 (왼쪽 원): 지금까지 들어온 모든 주문을 나타낸다. 주문 데이터에 기록된 "user_id"는 {1, 2, 3, 4, 5}가 있다. (참고로 집합은 중복 값은 제거하고 표현한다)"users" 집합 (오른쪽 원): 우리 쇼핑몰..

Ch01. 내부 조인 - 내부 조인(1)

우리 쇼핑몰의 대표님이 다음과 같은 요청을 한다."주문이 완료된(`COMPLETED` ) 모든 주문에 대해, 어떤 고객이 주문했는지 고객 ID, 고객 이름과 주문 날짜를 함께 보고 싶네." 이 요구사항을 충족하려면 "고객 이름"을 담고 있는 "users" 테이블과, "주문 날짜"와 "주문 상태"를 담고 있는 "orders" 테이블의 정보가 모두 필요하다. 즉, 두 테이블을 연결해야만 한다. 조인은 크게 내부 조인("INNER JOIN")과 외부 조인("OUTER JOIN")으로 나눌 수 있다. 내부 조인이란내부 조인("INNER JOIN")은 두 테이블을 연결할 때, 양쪽 테이블에 모두 공통으로 존재하는 데이터만을 결과로 보여준다. 기준이 되는 컬럼(예: "orders.user_id" 와 "users.u..