{"dataset":"baseball-db (MLB + KBO 공통 스키마)","version":"0.2","engine":"DuckDB. 테이블 이름으로 바로 조회 (예: SELECT * FROM games LIMIT 5). 뷰 season_batting, season_pitching 포함.","sources":{"MLB":"Retrosheet CSV (1897–2025). The information used here was obtained free of charge from and is copyrighted by Retrosheet. Interested parties may contact Retrosheet at 20 Sunset Rd., Newark, DE 19711.","KBO":"KBO 공식 홈페이지 박스스코어(2008–, 직접 수집) + Hugging Face slothman3878/kbo_playbyplay (2023–2026.7, CC BY 4.0, 네이버 문자중계 기반, 비공식)"},"instructions_for_ai":["쿼리 전에 coverage 테이블에서 필요한 데이터(count_pct, pitch_type_pct, pbp_pct, player_id_quality 등)가 있는 시즌만 대상으로 삼고, 제외한 범위를 답변에 밝힌다.","특별한 말이 없으면 정규시즌만: game_type = 'regular'.","MLB에서 '역대 리그'는 league IN ('AL','NL')로 제한한다 (니그로리그·페더럴리그는 요청 시에만).","이닝은 outs로 계산한다. 9이닝 = 27, 3이닝 = 9.","투수 실점(r/er)은 책임 주자 기준이다. '불펜이 던지는 동안 들어온 점수'는 team_games.bullpen_runs_on_watch (pbp 있는 경기만).","'시즌 N경기 시점'은 team_game_no <= N. 이적 선수는 소속 팀별 경기 번호를 따른다.","KBO pitches의 pa_event / pa_runs_scored는 타석 결과가 모든 투구 행에 반복된다. 타석 단위 집계는 is_last_pitch = true 행만 쓰거나 plate_appearances를 쓴다.","KBO 2008–2022의 player_id는 '이름|팀|시즌' 키다. 통산·연속 시즌·이적 관련 답변에는 근사임을 밝힌다.","KBO 투수의 볼넷은 2008–2022에 bb_hbp(볼넷+사구)만 있다.","MLB에는 구종·구속이 없다 (pitch_type, speed_kmh = NULL). 구종 질문은 KBO 2023+에서만 가능하다고 답한다.","결과와 함께 실행한 SQL, 사용한 조건(시즌 범위, 정규시즌 여부, r/er 구분)을 보여준다."],"tables":{"games":{"grain":"경기 1개당 1행","primary_key":["game_id"],"available_in":["MLB","KBO"],"columns":{"league_group":{"type":"VARCHAR","desc":"'MLB' 또는 'KBO'"},"game_id":{"type":"VARCHAR","desc":"경기 ID. MLB=Retrosheet gid(예: NYA202504010), KBO=날짜+원정+홈+더블헤더(예: 20250501KTOB0)"},"season":{"type":"INTEGER","desc":"시즌 연도"},"game_date":{"type":"DATE","desc":"경기 날짜"},"doubleheader_no":{"type":"INTEGER","desc":"0=단일 경기, 1/2=더블헤더 몇 번째"},"game_type":{"type":"VARCHAR","desc":"'regular' | 'postseason' | 'preseason'(KBO 시범경기) | 'allstar' | 'tiebreaker' | 'exhibition'. 특별한 말이 없으면 regular만. KBO 2008–2009 포스트시즌은 KBO 홈페이지에 기록이 없어 빠져 있다"},"game_type_raw":{"type":"VARCHAR","leagues":["MLB"],"desc":"원본 경기 종류 (MLB: worldseries, lcs, divisionseries, wildcard …)"},"home_team":{"type":"VARCHAR","desc":"홈팀 코드"},"away_team":{"type":"VARCHAR","desc":"원정팀 코드"},"home_league":{"type":"VARCHAR","desc":"홈팀 리그"},"away_league":{"type":"VARCHAR","desc":"원정팀 리그"},"home_runs":{"type":"INTEGER","desc":"홈팀 득점"},"away_runs":{"type":"INTEGER","desc":"원정팀 득점"},"winning_team":{"type":"VARCHAR","desc":"승리 팀 (무승부면 NULL)"},"losing_team":{"type":"VARCHAR","desc":"패배 팀"},"is_tie":{"type":"BOOLEAN","desc":"무승부 여부"},"innings_played":{"type":"BIGINT","desc":"실제 진행 이닝 수"},"is_extra_innings":{"type":"BOOLEAN","desc":"연장 여부 (진행 이닝 > 9)"},"site":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 구장 ID"},"attendance":{"type":"INTEGER","desc":"관중 수 (MLB 현재 NULL: gameinfo 미수집)"},"game_minutes":{"type":"INTEGER","leagues":["MLB"],"desc":"[MLB] 경기 시간(분) - 현재 NULL"},"winning_pitcher_id":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 승리투수"},"losing_pitcher_id":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 패전투수"},"save_pitcher_id":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 세이브 투수"},"has_box":{"type":"BOOLEAN","desc":"박스스코어(선수별 기록) 존재"},"pbp_level":{"type":"VARCHAR","desc":"플레이별 기록: 'full' | 'deduced'(기사로 재구성) | NULL(없음)"},"walkoff":{"type":"BOOLEAN","desc":"끝내기 경기 여부 (pbp 있는 경기만, 없으면 NULL)"},"away_team_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 원정팀 표시 이름"},"home_team_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 홈팀 표시 이름"},"stadium":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 구장 이름"},"start_time":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 개시 시각"},"end_time":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 종료 시각"},"game_time":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 경기 시간 'h:mm'"},"winning_hit":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 결승타 설명"},"etc_json":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 박스스코어 기타 기록(홈런·2루타·실책·도루 등 텍스트) JSON"}}},"team_games":{"grain":"팀×경기 1행 (경기당 2행). 선발/불펜 분리값을 미리 계산해 둔 핵심 테이블","primary_key":["game_id","team"],"available_in":["MLB","KBO"],"columns":{"league_group":{"type":"VARCHAR","desc":"'MLB' 또는 'KBO'"},"game_id":{"type":"VARCHAR","desc":"경기 ID. MLB=Retrosheet gid(예: NYA202504010), KBO=날짜+원정+홈+더블헤더(예: 20250501KTOB0)"},"team":{"type":"VARCHAR","desc":"팀 코드 (MLB: Retrosheet 팀 ID 예 NYA, BOS / KBO: OB=두산, LG, SK=SSG, WO=키움, HT=KIA, SS=삼성, LT=롯데, HH=한화, NC, KT)"},"opp":{"type":"VARCHAR","desc":"상대 팀 코드"},"league":{"type":"VARCHAR","desc":"MLB: 'AL'/'NL'/'FL'(페더럴리그)/'other'(니그로리그 등). KBO: 'KBO'"},"season":{"type":"INTEGER","desc":"시즌 연도"},"game_date":{"type":"DATE","desc":"경기 날짜"},"game_type":{"type":"VARCHAR","desc":"'regular' | 'postseason' | 'preseason'(KBO 시범경기) | 'allstar' | 'tiebreaker' | 'exhibition'. 특별한 말이 없으면 regular만. KBO 2008–2009 포스트시즌은 KBO 홈페이지에 기록이 없어 빠져 있다"},"is_home":{"type":"BOOLEAN","desc":"홈팀 여부"},"team_game_no":{"type":"BIGINT","desc":"이 팀의 시즌 내 몇 번째 경기인지 (game_type별 1부터). '시즌 N경기 시점' 질문에 사용"},"result":{"type":"VARCHAR","desc":"'W' | 'L' | 'T'"},"runs_for":{"type":"INTEGER","desc":"팀 득점"},"runs_against":{"type":"INTEGER","desc":"팀 실점"},"h":{"type":"INTEGER","desc":"안타 / 피안타"},"e":{"type":"INTEGER","desc":"실책"},"lob":{"type":"INTEGER","leagues":["MLB"],"desc":"[MLB] 잔루"},"hr":{"type":"INTEGER","leagues":["MLB"],"desc":"홈런 / 피홈런"},"bb":{"type":"INTEGER","leagues":["MLB"],"desc":"볼넷(고의4구 포함)"},"so":{"type":"INTEGER","leagues":["MLB"],"desc":"삼진 / 탈삼진"},"runs_by_inning":{"type":"INTEGER[]","desc":"이닝별 득점 리스트. runs_by_inning[1] = 1회 (DuckDB 리스트는 1부터). 공격하지 않은 이닝은 NULL"},"outs_pitched":{"type":"INTEGER","desc":"팀 전체 아웃 수"},"pitchers_used":{"type":"BIGINT","desc":"등판 투수 수"},"starter_id":{"type":"VARCHAR","desc":"선발투수 player_id"},"starter_outs":{"type":"DOUBLE","desc":"선발이 잡은 아웃 수 (이닝×3, 9이닝=27)"},"starter_r":{"type":"DOUBLE","desc":"선발 실점 (책임 주자 기준)"},"starter_er":{"type":"DOUBLE","desc":"선발 자책점"},"starter_h":{"type":"DOUBLE","desc":"선발 피안타"},"starter_so":{"type":"DOUBLE","desc":"선발 탈삼진"},"starter_bb":{"type":"DOUBLE","leagues":["MLB"],"desc":"[MLB] 선발 볼넷"},"starter_bb_hbp":{"type":"DOUBLE","desc":"선발 볼넷+사구"},"starter_np":{"type":"INTEGER","desc":"[KBO] 선발 투구 수"},"starter_decision":{"type":"VARCHAR","desc":"선발 승패 'W'|'L'|NULL"},"starter_cg":{"type":"BOOLEAN","desc":"선발 완투 여부"},"bullpen_outs":{"type":"DOUBLE","desc":"불펜 전체 아웃 수 (3이닝 = 9)"},"bullpen_r":{"type":"DOUBLE","desc":"불펜 실점 (책임 주자 기준: 선발이 남긴 주자가 들어오면 선발 실점)"},"bullpen_er":{"type":"DOUBLE","desc":"불펜 자책점"},"bullpen_h":{"type":"DOUBLE","desc":"불펜 피안타"},"bullpen_decision":{"type":"VARCHAR","desc":"불펜 투수가 받은 승/패"},"starter_exit_inning":{"type":"INTEGER","desc":"[pbp] 첫 구원투수가 나온 이닝"},"score_at_starter_exit_for":{"type":"INTEGER","desc":"[pbp] 선발 강판 시점 우리 팀 점수"},"score_at_starter_exit_against":{"type":"INTEGER","desc":"[pbp] 선발 강판 시점 상대 점수"},"bullpen_runs_on_watch":{"type":"DOUBLE","desc":"[pbp] 불펜이 마운드에 있는 동안 상대가 낸 점수 (책임 주자 무관)"},"pbp_runs_against":{"type":"DOUBLE","leagues":["MLB"],"desc":"[pbp] 플레이 데이터로 센 실점 (검증용)"},"has_box":{"type":"BOOLEAN","leagues":["MLB"],"desc":"박스스코어(선수별 기록) 존재"},"pbp_level":{"type":"VARCHAR","leagues":["MLB"],"desc":"플레이별 기록: 'full' | 'deduced'(기사로 재구성) | NULL(없음)"},"bb_hbp":{"type":"BIGINT","leagues":["KBO"],"desc":"볼넷+사구 (KBO 투수는 이 값만 원본에 있음)"},"starter_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 선발투수 이름"}}},"player_game_batting":{"grain":"타자×경기 1행","primary_key":["game_id","player_id"],"available_in":["MLB","KBO"],"columns":{"league_group":{"type":"VARCHAR","desc":"'MLB' 또는 'KBO'"},"game_id":{"type":"VARCHAR","desc":"경기 ID. MLB=Retrosheet gid(예: NYA202504010), KBO=날짜+원정+홈+더블헤더(예: 20250501KTOB0)"},"player_id":{"type":"VARCHAR","desc":"선수 ID. MLB=Retrosheet ID(통산 안정). KBO 2023+=안정 ID, KBO 2008–22='이름|팀|시즌' 대체 키 (id_quality 참고)"},"team":{"type":"VARCHAR","desc":"팀 코드 (MLB: Retrosheet 팀 ID 예 NYA, BOS / KBO: OB=두산, LG, SK=SSG, WO=키움, HT=KIA, SS=삼성, LT=롯데, HH=한화, NC, KT)"},"opp":{"type":"VARCHAR","desc":"상대 팀 코드"},"is_home":{"type":"BOOLEAN","desc":"홈팀 여부"},"season":{"type":"INTEGER","desc":"시즌 연도"},"game_date":{"type":"DATE","desc":"경기 날짜"},"game_type":{"type":"VARCHAR","desc":"'regular' | 'postseason' | 'preseason'(KBO 시범경기) | 'allstar' | 'tiebreaker' | 'exhibition'. 특별한 말이 없으면 regular만. KBO 2008–2009 포스트시즌은 KBO 홈페이지에 기록이 없어 빠져 있다"},"lineup_pos":{"type":"INTEGER","desc":"타순 1–9"},"lineup_seq":{"type":"INTEGER","leagues":["MLB"],"desc":"[MLB] 같은 타순의 몇 번째 선수(1=선발)"},"is_starter":{"type":"BOOLEAN","desc":"선발 여부 (투수: 선발투수 / 타자: 선발 출장)"},"is_dh":{"type":"BOOLEAN","leagues":["MLB"],"desc":"[MLB] 지명타자"},"is_ph":{"type":"BOOLEAN","leagues":["MLB"],"desc":"[MLB] 대타"},"is_pr":{"type":"BOOLEAN","leagues":["MLB"],"desc":"[MLB] 대주자"},"pa":{"type":"INTEGER","desc":"타석"},"ab":{"type":"INTEGER","desc":"타수"},"r":{"type":"INTEGER","desc":"실점 또는 득점(타자)"},"h":{"type":"INTEGER","desc":"안타 / 피안타"},"doubles":{"type":"INTEGER","desc":"2루타"},"triples":{"type":"INTEGER","desc":"3루타"},"hr":{"type":"INTEGER","desc":"홈런 / 피홈런"},"rbi":{"type":"INTEGER","desc":"타점"},"bb":{"type":"INTEGER","desc":"볼넷(고의4구 포함)"},"ibb":{"type":"INTEGER","desc":"고의4구"},"hbp":{"type":"INTEGER","desc":"몸에 맞는 볼"},"so":{"type":"INTEGER","desc":"삼진 / 탈삼진"},"sh":{"type":"INTEGER","desc":"희생번트"},"sf":{"type":"INTEGER","desc":"희생플라이"},"sb":{"type":"INTEGER","leagues":["MLB"],"desc":"도루 (KBO 없음)"},"cs":{"type":"INTEGER","leagues":["MLB"],"desc":"도루자"},"gdp":{"type":"INTEGER","desc":"병살타"},"roe":{"type":"INTEGER","desc":"실책 출루"},"league":{"type":"VARCHAR","desc":"MLB: 'AL'/'NL'/'FL'(페더럴리그)/'other'(니그로리그 등). KBO: 'KBO'"},"team_game_no":{"type":"BIGINT","desc":"이 팀의 시즌 내 몇 번째 경기인지 (game_type별 1부터). '시즌 N경기 시점' 질문에 사용"},"team_result":{"type":"VARCHAR","desc":"소속 팀의 그 경기 결과 'W'|'L'|'T'"},"row_no":{"type":"BIGINT","leagues":["KBO"],"desc":"[KBO] 박스스코어 표의 행 순서"},"position":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 수비 위치 원문"},"name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 선수 이름 (박스스코어 표기)"},"ab_decoded":{"type":"BIGINT","leagues":["KBO"],"desc":"[KBO] 검증용: 원문 해석 타수"},"h_decoded":{"type":"BIGINT","leagues":["KBO"],"desc":"[KBO] 검증용: 원문 해석 안타"},"unknown_tokens":{"type":"BIGINT","leagues":["KBO"],"desc":"[KBO] 검증용: 해석 못 한 결과 수"},"pa_results":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 타석 결과 원문 [[이닝, '우홈'], ...] JSON"},"player_key":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] '이름|팀|시즌'"},"id_quality":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 'stable' | 'name_team_season'(이적·동명이인 시 부정확)"}}},"player_game_pitching":{"grain":"투수×경기 1행","primary_key":["game_id","player_id"],"available_in":["MLB","KBO"],"columns":{"league_group":{"type":"VARCHAR","desc":"'MLB' 또는 'KBO'"},"game_id":{"type":"VARCHAR","desc":"경기 ID. MLB=Retrosheet gid(예: NYA202504010), KBO=날짜+원정+홈+더블헤더(예: 20250501KTOB0)"},"player_id":{"type":"VARCHAR","desc":"선수 ID. MLB=Retrosheet ID(통산 안정). KBO 2023+=안정 ID, KBO 2008–22='이름|팀|시즌' 대체 키 (id_quality 참고)"},"team":{"type":"VARCHAR","desc":"팀 코드 (MLB: Retrosheet 팀 ID 예 NYA, BOS / KBO: OB=두산, LG, SK=SSG, WO=키움, HT=KIA, SS=삼성, LT=롯데, HH=한화, NC, KT)"},"opp":{"type":"VARCHAR","desc":"상대 팀 코드"},"is_home":{"type":"BOOLEAN","desc":"홈팀 여부"},"season":{"type":"INTEGER","desc":"시즌 연도"},"game_date":{"type":"DATE","desc":"경기 날짜"},"game_type":{"type":"VARCHAR","desc":"'regular' | 'postseason' | 'preseason'(KBO 시범경기) | 'allstar' | 'tiebreaker' | 'exhibition'. 특별한 말이 없으면 regular만. KBO 2008–2009 포스트시즌은 KBO 홈페이지에 기록이 없어 빠져 있다"},"pitch_seq":{"type":"INTEGER","desc":"등판 순서 (1=선발)"},"is_starter":{"type":"BOOLEAN","desc":"선발 여부 (투수: 선발투수 / 타자: 선발 출장)"},"outs":{"type":"INTEGER","desc":"잡은 아웃 수 (이닝 = outs/3)"},"bfp":{"type":"INTEGER","desc":"상대 타자 수"},"h":{"type":"INTEGER","desc":"안타 / 피안타"},"doubles":{"type":"INTEGER","leagues":["MLB"],"desc":"2루타"},"triples":{"type":"INTEGER","leagues":["MLB"],"desc":"3루타"},"hr":{"type":"INTEGER","desc":"홈런 / 피홈런"},"r":{"type":"INTEGER","desc":"실점 또는 득점(타자)"},"er":{"type":"INTEGER","desc":"자책점"},"bb":{"type":"INTEGER","leagues":["MLB"],"desc":"볼넷(고의4구 포함)"},"ibb":{"type":"INTEGER","leagues":["MLB"],"desc":"고의4구"},"hbp":{"type":"INTEGER","leagues":["MLB"],"desc":"몸에 맞는 볼"},"bb_hbp":{"type":"INTEGER","desc":"볼넷+사구 (KBO 투수는 이 값만 원본에 있음)"},"so":{"type":"INTEGER","desc":"삼진 / 탈삼진"},"wp":{"type":"INTEGER","leagues":["MLB"],"desc":"[MLB] 폭투"},"bk":{"type":"INTEGER","leagues":["MLB"],"desc":"[MLB] 보크"},"decision":{"type":"VARCHAR","desc":"'W'|'L'|'S'|'H'(KBO 홀드)|NULL"},"is_cg":{"type":"BOOLEAN","leagues":["MLB"],"desc":"완투"},"is_gf":{"type":"BOOLEAN","leagues":["MLB"],"desc":"[MLB] 구원으로 경기 마무리"},"league":{"type":"VARCHAR","desc":"MLB: 'AL'/'NL'/'FL'(페더럴리그)/'other'(니그로리그 등). KBO: 'KBO'"},"team_game_no":{"type":"BIGINT","desc":"이 팀의 시즌 내 몇 번째 경기인지 (game_type별 1부터). '시즌 N경기 시점' 질문에 사용"},"team_result":{"type":"VARCHAR","desc":"소속 팀의 그 경기 결과 'W'|'L'|'T'"},"name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 선수 이름 (박스스코어 표기)"},"entry":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 등판 시점 원문 ('선발' 또는 '6.4' 형태)"},"np":{"type":"BIGINT","leagues":["KBO"],"desc":"[KBO] 투구 수"},"ab":{"type":"BIGINT","leagues":["KBO"],"desc":"타수"},"player_key":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] '이름|팀|시즌'"},"id_link":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] ID 연결 방법 'name'|'order'"},"hf_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 투구 데이터 쪽 표기 이름(다를 때)"},"id_quality":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 'stable' | 'name_team_season'(이적·동명이인 시 부정확)"}}},"plate_appearances":{"grain":"타석 1행 (플레이별 기록이 있는 경기만)","primary_key":["game_id","pa_seq"],"available_in":["MLB","KBO"],"columns":{"league_group":{"type":"VARCHAR","desc":"'MLB' 또는 'KBO'"},"game_id":{"type":"VARCHAR","desc":"경기 ID. MLB=Retrosheet gid(예: NYA202504010), KBO=날짜+원정+홈+더블헤더(예: 20250501KTOB0)"},"pn":{"type":"INTEGER","leagues":["MLB"],"desc":"[MLB] 플레이 번호(= pa_seq)"},"season":{"type":"INTEGER","desc":"시즌 연도"},"game_type":{"type":"VARCHAR","desc":"'regular' | 'postseason' | 'preseason'(KBO 시범경기) | 'allstar' | 'tiebreaker' | 'exhibition'. 특별한 말이 없으면 regular만. KBO 2008–2009 포스트시즌은 KBO 홈페이지에 기록이 없어 빠져 있다"},"inning":{"type":"INTEGER","desc":"이닝"},"half":{"type":"VARCHAR","desc":"'top' | 'bottom'"},"bat_team":{"type":"VARCHAR","desc":"공격 팀"},"fld_team":{"type":"VARCHAR","desc":"수비 팀"},"home_batting":{"type":"BOOLEAN","leagues":["MLB"],"desc":"[MLB] 홈팀 공격 중"},"batter_id":{"type":"VARCHAR","desc":"타자 ID"},"pitcher_id":{"type":"VARCHAR","desc":"투수 ID"},"lineup_pos":{"type":"INTEGER","leagues":["MLB"],"desc":"타순 1–9"},"bat_hand":{"type":"VARCHAR","desc":"타자 손 L/R/B"},"pit_hand":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 투수 손"},"outs_pre":{"type":"INTEGER","desc":"타석(투구) 직전 아웃 수"},"outs_post":{"type":"INTEGER","desc":"플레이 후 아웃 수"},"runner_1b":{"type":"BOOLEAN","desc":"1루 주자 있음"},"runner_2b":{"type":"BOOLEAN","desc":"2루 주자 있음"},"runner_3b":{"type":"BOOLEAN","desc":"3루 주자 있음"},"bases_code":{"type":"VARCHAR","desc":"타석 직전 주자 '1루2루3루' (예: '111' = 만루, '000' = 주자 없음)"},"score_bat_pre":{"type":"INTEGER","desc":"타석 직전 공격 팀 점수"},"score_fld_pre":{"type":"INTEGER","desc":"타석 직전 수비 팀 점수"},"final_balls":{"type":"INTEGER","desc":"마지막 투구 직전 볼 수 (MLB: 1988년 이전 대부분 NULL)"},"final_strikes":{"type":"INTEGER","desc":"마지막 투구 직전 스트라이크 수"},"pitch_seq_str":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 투구 순서 문자열 (B=볼, C=루킹, S=헛스윙, F=파울, X=인플레이)"},"num_pitches":{"type":"INTEGER","desc":"타석 투구 수"},"is_pa":{"type":"BOOLEAN","desc":"[KBO] false = 주루사 등으로 끝나 완료되지 않은 타석"},"event":{"type":"VARCHAR","desc":"타석 결과: 1B 2B 3B HR BB IBB HBP SO OUT GDP TP SF SH ROE FC CI"},"batted_ball":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 타구 종류 G 땅볼 / F 뜬공 / L 라인드라이브 / B 번트"},"runs_on_play":{"type":"INTEGER","desc":"그 플레이에서 난 점수"},"rbi":{"type":"INTEGER","leagues":["MLB"],"desc":"타점"},"er_on_play":{"type":"INTEGER","leagues":["MLB"],"desc":"[MLB] 그 플레이의 자책점"},"event_raw":{"type":"VARCHAR","desc":"원본 이벤트 표기"},"is_walkoff":{"type":"BOOLEAN","desc":"끝내기 타석"},"pa_seq":{"type":"INTEGER","desc":"경기 내 타석(플레이) 순번"},"game_date":{"type":"DATE","leagues":["KBO"],"desc":"경기 날짜"},"batter_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 타자 이름"},"pitcher_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 투수 이름"}}},"pitches":{"grain":"투구 1행. MLB는 투구 순서 문자열을 분해한 것(구종·구속 없음), KBO는 2023+ 투구 추적 데이터","primary_key":["game_id","pa_seq","pitch_no"],"available_in":["MLB","KBO"],"columns":{"league_group":{"type":"VARCHAR","desc":"'MLB' 또는 'KBO'"},"game_id":{"type":"VARCHAR","desc":"경기 ID. MLB=Retrosheet gid(예: NYA202504010), KBO=날짜+원정+홈+더블헤더(예: 20250501KTOB0)"},"pa_seq":{"type":"INTEGER","desc":"경기 내 타석(플레이) 순번"},"pitch_no":{"type":"BIGINT","desc":"타석 내 투구 순번"},"season":{"type":"INTEGER","desc":"시즌 연도"},"game_type":{"type":"VARCHAR","desc":"'regular' | 'postseason' | 'preseason'(KBO 시범경기) | 'allstar' | 'tiebreaker' | 'exhibition'. 특별한 말이 없으면 regular만. KBO 2008–2009 포스트시즌은 KBO 홈페이지에 기록이 없어 빠져 있다"},"batter_id":{"type":"VARCHAR","desc":"타자 ID"},"pitcher_id":{"type":"VARCHAR","desc":"투수 ID"},"balls_pre":{"type":"DOUBLE","desc":"투구 직전 볼 카운트"},"strikes_pre":{"type":"DOUBLE","desc":"투구 직전 스트라이크 카운트"},"outs_pre":{"type":"INTEGER","desc":"타석(투구) 직전 아웃 수"},"bases_code":{"type":"VARCHAR","desc":"타석 직전 주자 '1루2루3루' (예: '111' = 만루, '000' = 주자 없음)"},"call_raw":{"type":"VARCHAR","desc":"원본 판정 코드"},"call":{"type":"VARCHAR","desc":"판정(공통): ball | called_strike | swinging_strike | foul | in_play | hbp | strike_other | other"},"pitch_type":{"type":"VARCHAR","desc":"[KBO 2023+] 구종 코드 FF 직구, SL 슬라이더, CH 체인지업, CU 커브, FO 포크, SI 투심, FC 커터, ST 스위퍼. MLB는 NULL"},"pitch_name_ko":{"type":"VARCHAR","desc":"[KBO] 구종 한글 이름"},"speed_kmh":{"type":"DOUBLE","desc":"[KBO] 구속 km/h. MLB는 NULL"},"game_date":{"type":"DATE","leagues":["KBO"],"desc":"경기 날짜"},"batter_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 타자 이름"},"pitcher_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 투수 이름"},"bat_hand":{"type":"VARCHAR","leagues":["KBO"],"desc":"타자 손 L/R/B"},"score_bat_pre":{"type":"BIGINT","leagues":["KBO"],"desc":"타석 직전 공격 팀 점수"},"score_fld_pre":{"type":"BIGINT","leagues":["KBO"],"desc":"타석 직전 수비 팀 점수"},"inning":{"type":"BIGINT","leagues":["KBO"],"desc":"이닝"},"bat_team":{"type":"VARCHAR","leagues":["KBO"],"desc":"공격 팀"},"fld_team":{"type":"VARCHAR","leagues":["KBO"],"desc":"수비 팀"},"pitch_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 구종 영문 이름"},"plate_x":{"type":"DOUBLE","leagues":["KBO"],"desc":"[KBO] 홈플레이트 통과 좌우 위치(ft)"},"plate_z":{"type":"DOUBLE","leagues":["KBO"],"desc":"[KBO] 통과 높이(ft, 궤적으로 계산)"},"sz_top":{"type":"DOUBLE","leagues":["KBO"],"desc":"[KBO] 스트라이크존 상단(ft)"},"sz_bot":{"type":"DOUBLE","leagues":["KBO"],"desc":"[KBO] 스트라이크존 하단(ft)"},"is_last_pitch":{"type":"BOOLEAN","leagues":["KBO"],"desc":"[KBO] 타석의 마지막 투구. pa_event / pa_runs_scored는 타석 결과라 모든 투구 행에 반복되므로 집계 시 이 행만 사용"},"pa_event":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 이 투구가 속한 타석의 결과 (원문)"},"pa_runs_scored":{"type":"BIGINT","leagues":["KBO"],"desc":"[KBO] 이 투구가 속한 타석에서 난 점수"}}},"players":{"grain":"선수 1행","primary_key":["player_id"],"available_in":["MLB","KBO"],"columns":{"league_group":{"type":"VARCHAR","desc":"'MLB' 또는 'KBO'"},"player_id":{"type":"VARCHAR","desc":"선수 ID. MLB=Retrosheet ID(통산 안정). KBO 2023+=안정 ID, KBO 2008–22='이름|팀|시즌' 대체 키 (id_quality 참고)"},"id_quality":{"type":"VARCHAR","desc":"[KBO] 'stable' | 'name_team_season'(이적·동명이인 시 부정확)"},"first_name":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 이름"},"last_name":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 성"},"full_name":{"type":"VARCHAR","desc":"선수 이름"},"legal_name":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 전체 본명"},"bats":{"type":"VARCHAR","leagues":["MLB"],"desc":"타격 손"},"throws":{"type":"VARCHAR","leagues":["MLB"],"desc":"투구 손"},"birth_date":{"type":"DATE","leagues":["MLB"],"desc":"[MLB] 생년월일"},"birth_country":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 출생 국가"},"debut_date":{"type":"DATE","leagues":["MLB"],"desc":"[MLB] 데뷔일"},"last_game_date":{"type":"DATE","leagues":["MLB"],"desc":"[MLB] 마지막 경기일"},"is_hof":{"type":"BOOLEAN","leagues":["MLB"],"desc":"[MLB] 명예의 전당"},"first_season":{"type":"INTEGER","desc":"첫 시즌"},"last_season":{"type":"INTEGER","desc":"마지막 시즌"},"names":{"type":"VARCHAR[]","leagues":["KBO"],"desc":"[KBO] 이 ID로 쓰인 이름들(개명 포함)"},"teams":{"type":"VARCHAR[]","leagues":["KBO"],"desc":"소속 팀 목록"}}},"team_seasons":{"grain":"팀×시즌 1행 (리그 소속)","primary_key":["season","team"],"available_in":["MLB","KBO"],"columns":{"league_group":{"type":"VARCHAR","desc":"'MLB' 또는 'KBO'"},"season":{"type":"INTEGER","desc":"시즌 연도"},"team":{"type":"VARCHAR","desc":"팀 코드 (MLB: Retrosheet 팀 ID 예 NYA, BOS / KBO: OB=두산, LG, SK=SSG, WO=키움, HT=KIA, SS=삼성, LT=롯데, HH=한화, NC, KT)"},"league":{"type":"VARCHAR","desc":"MLB: 'AL'/'NL'/'FL'(페더럴리그)/'other'(니그로리그 등). KBO: 'KBO'"},"city":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 연고지"},"nickname":{"type":"VARCHAR","leagues":["MLB"],"desc":"[MLB] 팀 별칭"},"team_name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 팀 표시 이름"}}},"coverage":{"grain":"리그×시즌 1행. 이 시즌에 어떤 데이터가 있는지. 쿼리 전에 확인","primary_key":["league_group","season"],"available_in":["MLB","KBO"],"columns":{"league_group":{"type":"VARCHAR","desc":"'MLB' 또는 'KBO'"},"season":{"type":"INTEGER","desc":"시즌 연도"},"games":{"type":"BIGINT","desc":"경기 수"},"box_pct":{"type":"DOUBLE","desc":"박스스코어 있는 경기 비율"},"pbp_pct":{"type":"DOUBLE","desc":"플레이별 기록 있는 경기 비율"},"pbp_deduced_pct":{"type":"DOUBLE","desc":"[MLB] 기사로 재구성한 플레이 기록 비율"},"count_pct":{"type":"DOUBLE","desc":"볼카운트 있는 타석 비율"},"pitch_seq_pct":{"type":"DOUBLE","desc":"투구 순서 있는 타석 비율"},"pitch_type_pct":{"type":"DECIMAL(2,1)","desc":"구종 정보 비율"},"speed_pct":{"type":"DECIMAL(2,1)","desc":"구속 정보 비율"},"batter_so_pct":{"type":"DOUBLE","desc":"타자 삼진 기록이 있는 비율"},"player_id_quality":{"type":"VARCHAR","desc":"'stable' | 'name_team_season'"},"includes_postseason":{"type":"BOOLEAN","desc":"포스트시즌 포함 여부"},"has_attendance":{"type":"BOOLEAN","desc":"관중 수 있음"}}},"name_collisions":{"grain":"[KBO] 같은 팀·시즌에 이름이 같은 서로 다른 선수 목록","primary_key":["name","team","season"],"available_in":["KBO"],"columns":{"name":{"type":"VARCHAR","leagues":["KBO"],"desc":"[KBO] 선수 이름 (박스스코어 표기)"},"team":{"type":"VARCHAR","leagues":["KBO"],"desc":"팀 코드 (MLB: Retrosheet 팀 ID 예 NYA, BOS / KBO: OB=두산, LG, SK=SSG, WO=키움, HT=KIA, SS=삼성, LT=롯데, HH=한화, NC, KT)"},"season":{"type":"BIGINT","leagues":["KBO"],"desc":"시즌 연도"},"player_ids":{"type":"VARCHAR[]","leagues":["KBO"],"desc":"[KBO] 같은 이름의 서로 다른 ID"}}}},"example_queries_file":"examples.sql"}