[{"data":1,"prerenderedAt":874},["ShallowReactive",2],{"navigation_docs_en":3,"-en-tauri-sqlite-orm-advanced-topics-joins":237,"-en-tauri-sqlite-orm-advanced-topics-joins-surround":869},[4,15,69,122],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":14},"Getting Started with Docs","i-lucide-home","/en/getting-started","en/1.getting-started",[10],{"title":11,"path":12,"stem":13,"icon":6},"Introduction","/en/getting-started/introduction","en/1.getting-started/1.introduction",false,{"title":16,"path":17,"stem":18,"children":19,"page":14},"owo-ui Components","/en/owo-ui-components","en/2.owo-ui-components",[20,23],{"title":11,"path":21,"stem":22,"icon":6},"/en/owo-ui-components/introduction","en/2.owo-ui-components/2.introduction",{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":14},"Components","i-lucide-layout","/en/owo-ui-components/components","en/2.owo-ui-components/3.components",[29,33,37,41,45,49,53,57,61,65],{"title":30,"path":31,"stem":32},"Button","/en/owo-ui-components/components/button","en/2.owo-ui-components/3.components/button",{"title":34,"path":35,"stem":36},"Checkbox","/en/owo-ui-components/components/checkbox","en/2.owo-ui-components/3.components/checkbox",{"title":38,"path":39,"stem":40},"Collapsible Container","/en/owo-ui-components/components/collapsible-container","en/2.owo-ui-components/3.components/collapsible-container",{"title":42,"path":43,"stem":44},"Dropdown","/en/owo-ui-components/components/dropdown","en/2.owo-ui-components/3.components/dropdown",{"title":46,"path":47,"stem":48},"Flow Layout","/en/owo-ui-components/components/flow-layout","en/2.owo-ui-components/3.components/flow-layout",{"title":50,"path":51,"stem":52},"Grid Layout","/en/owo-ui-components/components/grid-layout","en/2.owo-ui-components/3.components/grid-layout",{"title":54,"path":55,"stem":56},"Label","/en/owo-ui-components/components/label","en/2.owo-ui-components/3.components/label",{"title":58,"path":59,"stem":60},"Scroll Container","/en/owo-ui-components/components/scroll-container","en/2.owo-ui-components/3.components/scroll-container",{"title":62,"path":63,"stem":64},"Slider","/en/owo-ui-components/components/slider","en/2.owo-ui-components/3.components/slider",{"title":66,"path":67,"stem":68},"Templates","/en/owo-ui-components/components/templates","en/2.owo-ui-components/3.components/templates",{"title":70,"path":71,"stem":72,"children":73,"page":14},"Nexus","/en/nexus","en/3.nexus",[74,77,82],{"title":11,"path":75,"stem":76,"icon":6},"/en/nexus/introduction","en/3.nexus/2.introduction",{"title":78,"path":79,"stem":80,"icon":81},"Deployment","/en/nexus/deployment","en/3.nexus/3.deployment","i-lucide-rocket",{"title":83,"path":84,"stem":85,"children":86,"page":14},"Endpoints","/en/nexus/endpoints","en/3.nexus/endpoints",[87,91,95,99,102,106,110,114,118],{"title":88,"path":89,"stem":90},"Authentication","/en/nexus/endpoints/authentication","en/3.nexus/endpoints/1.authentication",{"title":92,"path":93,"stem":94},"Rate Limiting","/en/nexus/endpoints/rate-limiting","en/3.nexus/endpoints/2.rate-limiting",{"title":96,"path":97,"stem":98},"Error Handling","/en/nexus/endpoints/error-handling","en/3.nexus/endpoints/3.error-handling",{"title":83,"path":100,"stem":101},"/en/nexus/endpoints/_dir","en/3.nexus/endpoints/_dir",{"title":103,"path":104,"stem":105},"Album","/en/nexus/endpoints/albums","en/3.nexus/endpoints/albums",{"title":107,"path":108,"stem":109},"Blog","/en/nexus/endpoints/blog","en/3.nexus/endpoints/blog",{"title":111,"path":112,"stem":113},"Comments","/en/nexus/endpoints/comments","en/3.nexus/endpoints/comments",{"title":115,"path":116,"stem":117},"File Management","/en/nexus/endpoints/file-management","en/3.nexus/endpoints/file-management",{"title":119,"path":120,"stem":121},"Photo Management","/en/nexus/endpoints/photos","en/3.nexus/endpoints/photos",{"title":123,"icon":124,"path":125,"stem":126,"children":127,"page":14},"Tauri SQLite ORM","i-lucide-database","/en/tauri-sqlite-orm","en/4.tauri-sqlite-orm",[128,132,137,141,162,187,232],{"title":11,"path":129,"stem":130,"icon":131},"/en/tauri-sqlite-orm/introduction","en/4.tauri-sqlite-orm/1.introduction","i-lucide-book-open",{"title":133,"path":134,"stem":135,"icon":136},"Installation & Setup","/en/tauri-sqlite-orm/installation-and-setup","en/4.tauri-sqlite-orm/2.installation-and-setup","i-lucide-download",{"title":138,"path":139,"stem":140,"icon":81},"Your First Schema & Query","/en/tauri-sqlite-orm/your-first-schema-and-query","en/4.tauri-sqlite-orm/3.your-first-schema-and-query",{"title":142,"path":143,"stem":144,"children":145,"page":14},"Core Concepts","/en/tauri-sqlite-orm/core-concepts","en/4.tauri-sqlite-orm/4.core-concepts",[146,150,154,158],{"title":147,"path":148,"stem":149},"Defining Schemas","/en/tauri-sqlite-orm/core-concepts/defining-schemas","en/4.tauri-sqlite-orm/4.core-concepts/1.defining-schemas",{"title":151,"path":152,"stem":153},"Column Types & Modifiers","/en/tauri-sqlite-orm/core-concepts/column-types-and-modifiers","en/4.tauri-sqlite-orm/4.core-concepts/2.column-types-and-modifiers",{"title":155,"path":156,"stem":157},"The ORM Instance","/en/tauri-sqlite-orm/core-concepts/the-orm-instance","en/4.tauri-sqlite-orm/4.core-concepts/3.the-orm-instance",{"title":159,"path":160,"stem":161},"Migrations","/en/tauri-sqlite-orm/core-concepts/migrations","en/4.tauri-sqlite-orm/4.core-concepts/4.migrations",{"title":163,"path":164,"stem":165,"children":166,"page":14},"Querying Data","/en/tauri-sqlite-orm/querying-data","en/4.tauri-sqlite-orm/5.querying-data",[167,171,175,179,183],{"title":168,"path":169,"stem":170},"Select","/en/tauri-sqlite-orm/querying-data/selecting-data","en/4.tauri-sqlite-orm/5.querying-data/1.selecting-data",{"title":172,"path":173,"stem":174},"Insert","/en/tauri-sqlite-orm/querying-data/inserting-data","en/4.tauri-sqlite-orm/5.querying-data/2.inserting-data",{"title":176,"path":177,"stem":178},"Update","/en/tauri-sqlite-orm/querying-data/updating-data","en/4.tauri-sqlite-orm/5.querying-data/3.updating-data",{"title":180,"path":181,"stem":182},"Delete","/en/tauri-sqlite-orm/querying-data/deleting-data","en/4.tauri-sqlite-orm/5.querying-data/4.deleting-data",{"title":184,"path":185,"stem":186},"Conditions & Operators","/en/tauri-sqlite-orm/querying-data/conditions-and-operators","en/4.tauri-sqlite-orm/5.querying-data/5.conditions-and-operators",{"title":188,"path":189,"stem":190,"children":191,"page":14},"Advanced Topics","/en/tauri-sqlite-orm/advanced-topics","en/4.tauri-sqlite-orm/6.advanced-topics",[192,196,200,204,208,212,216,220,224,228],{"title":193,"path":194,"stem":195},"Relations","/en/tauri-sqlite-orm/advanced-topics/working-with-relations","en/4.tauri-sqlite-orm/6.advanced-topics/1.working-with-relations",{"title":197,"path":198,"stem":199},"Error Handling & Safety","/en/tauri-sqlite-orm/advanced-topics/error-handling-and-safety","en/4.tauri-sqlite-orm/6.advanced-topics/10.error-handling-and-safety",{"title":201,"path":202,"stem":203},"Joins","/en/tauri-sqlite-orm/advanced-topics/joins","en/4.tauri-sqlite-orm/6.advanced-topics/2.joins",{"title":205,"path":206,"stem":207},"Transactions","/en/tauri-sqlite-orm/advanced-topics/transactions","en/4.tauri-sqlite-orm/6.advanced-topics/3.transactions",{"title":209,"path":210,"stem":211},"Common Table Expressions","/en/tauri-sqlite-orm/advanced-topics/common-table-expressions","en/4.tauri-sqlite-orm/6.advanced-topics/4.common-table-expressions",{"title":213,"path":214,"stem":215},"Raw SQL","/en/tauri-sqlite-orm/advanced-topics/raw-sql","en/4.tauri-sqlite-orm/6.advanced-topics/5.raw-sql",{"title":217,"path":218,"stem":219},"Type Safety & Inference","/en/tauri-sqlite-orm/advanced-topics/type-safety-and-inference","en/4.tauri-sqlite-orm/6.advanced-topics/6.type-safety-and-inference",{"title":221,"path":222,"stem":223},"Schema Management","/en/tauri-sqlite-orm/advanced-topics/manual-schema-management","en/4.tauri-sqlite-orm/6.advanced-topics/7.manual-schema-management",{"title":225,"path":226,"stem":227},"Query Debugging","/en/tauri-sqlite-orm/advanced-topics/query-debugging","en/4.tauri-sqlite-orm/6.advanced-topics/8.query-debugging",{"title":229,"path":230,"stem":231},"Subqueries & Aggregates","/en/tauri-sqlite-orm/advanced-topics/subqueries-and-aggregates","en/4.tauri-sqlite-orm/6.advanced-topics/9.subqueries-and-aggregates",{"title":233,"path":234,"stem":235,"icon":236},"API Reference","/en/tauri-sqlite-orm/api-reference","en/4.tauri-sqlite-orm/7.api-reference","i-lucide-book",{"id":238,"title":201,"body":239,"description":863,"extension":864,"links":865,"meta":866,"navigation":450,"path":202,"seo":867,"stem":203,"__hash__":868},"docs_en/en/4.tauri-sqlite-orm/6.advanced-topics/2.joins.md",{"type":240,"value":241,"toc":856},"minimark",[242,260,263,286,291,294,311,316,327,331,338,640,645,700,713,717,730,733,852],[243,244,245,246,250,251,255,256,259],"p",{},"While ",[247,248,193],"a",{"href":249},"working-with-relations"," provide a high-level, automated way to fetch related data, sometimes you need more control. Manual joins give you direct access to ",[252,253,254],"code",{},"LEFT JOIN"," and ",[252,257,258],{},"INNER JOIN",", allowing for custom join conditions and flattened result sets.",[243,261,262],{},"Use manual joins when you need to:",[264,265,266,273,276,279],"ul",{},[267,268,269,270,272],"li",{},"Perform an ",[252,271,258],{}," (to only include records that have a match in the other table).",[267,274,275],{},"Filter or sort based on a column in the joined table.",[267,277,278],{},"Get a flat result object instead of a nested one.",[267,280,281,282,285],{},"Use complex ",[252,283,284],{},"ON"," conditions not supported by the relations feature.",[287,288,290],"h2",{"id":289},"join-methods","Join Methods",[243,292,293],{},"The query builder provides two methods for manual joins:",[264,295,296,304],{},[267,297,298],{},[299,300,301],"strong",{},[252,302,303],{},".leftJoin(table, condition, alias)",[267,305,306],{},[299,307,308],{},[252,309,310],{},".innerJoin(table, condition, alias)",[312,313,315],"h3",{"id":314},"aliasing-is-required","Aliasing is Required",[243,317,318,319,322,323,326],{},"When you join a table, you ",[299,320,321],{},"must"," provide a short string alias. This alias is crucial for telling the ORM which table a column belongs to, especially in the ",[252,324,325],{},"where"," clause.",[287,328,330],{"id":329},"example-finding-users-by-post-title","Example: Finding Users by Post Title",[243,332,333,334,337],{},"Let's find all users who have written a post with \"Tauri\" in the title. This is a perfect use case for an ",[252,335,336],{},"innerJoin",", as we only want users who have matching posts.",[339,340,345],"pre",{"className":341,"code":342,"language":343,"meta":344,"style":344},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { db } from '$lib/db';\nimport { users, posts } from '$lib/db/schema';\nimport { eq, like, innerJoin } from '@type32/tauri-sqlite-orm';\n\nconst usersWithTauriPosts = await db.select(users)\n  .innerJoin(\n    posts,                                           // Table to join\n    eq(users._.columns.id, posts._.columns.authorId), // ON condition\n    'p'                                               // Alias for the 'posts' table\n  )\n  .where(\n    like(posts._.columns.title, '%Tauri%', 'p')     // Filter on the aliased table\n  )\n  .all();\n","typescript","",[252,346,347,383,412,445,452,480,491,503,549,562,568,577,622,627],{"__ignoreMap":344},[348,349,352,356,360,364,367,370,373,377,380],"span",{"class":350,"line":351},"line",1,[348,353,355],{"class":354},"s7zQu","import",[348,357,359],{"class":358},"sMK4o"," {",[348,361,363],{"class":362},"sTEyZ"," db",[348,365,366],{"class":358}," }",[348,368,369],{"class":354}," from",[348,371,372],{"class":358}," '",[348,374,376],{"class":375},"sfazB","$lib/db",[348,378,379],{"class":358},"'",[348,381,382],{"class":358},";\n",[348,384,386,388,390,393,396,399,401,403,405,408,410],{"class":350,"line":385},2,[348,387,355],{"class":354},[348,389,359],{"class":358},[348,391,392],{"class":362}," users",[348,394,395],{"class":358},",",[348,397,398],{"class":362}," posts",[348,400,366],{"class":358},[348,402,369],{"class":354},[348,404,372],{"class":358},[348,406,407],{"class":375},"$lib/db/schema",[348,409,379],{"class":358},[348,411,382],{"class":358},[348,413,415,417,419,422,424,427,429,432,434,436,438,441,443],{"class":350,"line":414},3,[348,416,355],{"class":354},[348,418,359],{"class":358},[348,420,421],{"class":362}," eq",[348,423,395],{"class":358},[348,425,426],{"class":362}," like",[348,428,395],{"class":358},[348,430,431],{"class":362}," innerJoin",[348,433,366],{"class":358},[348,435,369],{"class":354},[348,437,372],{"class":358},[348,439,440],{"class":375},"@type32/tauri-sqlite-orm",[348,442,379],{"class":358},[348,444,382],{"class":358},[348,446,448],{"class":350,"line":447},4,[348,449,451],{"emptyLinePlaceholder":450},true,"\n",[348,453,455,459,462,465,468,470,473,477],{"class":350,"line":454},5,[348,456,458],{"class":457},"spNyl","const",[348,460,461],{"class":362}," usersWithTauriPosts ",[348,463,464],{"class":358},"=",[348,466,467],{"class":354}," await",[348,469,363],{"class":362},[348,471,472],{"class":358},".",[348,474,476],{"class":475},"s2Zo4","select",[348,478,479],{"class":362},"(users)\n",[348,481,483,486,488],{"class":350,"line":482},6,[348,484,485],{"class":358},"  .",[348,487,336],{"class":475},[348,489,490],{"class":362},"(\n",[348,492,494,497,499],{"class":350,"line":493},7,[348,495,496],{"class":362},"    posts",[348,498,395],{"class":358},[348,500,502],{"class":501},"sHwdD","                                           // Table to join\n",[348,504,506,509,512,514,517,519,522,524,527,529,531,533,535,537,539,541,544,546],{"class":350,"line":505},8,[348,507,508],{"class":475},"    eq",[348,510,511],{"class":362},"(users",[348,513,472],{"class":358},[348,515,516],{"class":362},"_",[348,518,472],{"class":358},[348,520,521],{"class":362},"columns",[348,523,472],{"class":358},[348,525,526],{"class":362},"id",[348,528,395],{"class":358},[348,530,398],{"class":362},[348,532,472],{"class":358},[348,534,516],{"class":362},[348,536,472],{"class":358},[348,538,521],{"class":362},[348,540,472],{"class":358},[348,542,543],{"class":362},"authorId)",[348,545,395],{"class":358},[348,547,548],{"class":501}," // ON condition\n",[348,550,552,555,557,559],{"class":350,"line":551},9,[348,553,554],{"class":358},"    '",[348,556,243],{"class":375},[348,558,379],{"class":358},[348,560,561],{"class":501},"                                               // Alias for the 'posts' table\n",[348,563,565],{"class":350,"line":564},10,[348,566,567],{"class":362},"  )\n",[348,569,571,573,575],{"class":350,"line":570},11,[348,572,485],{"class":358},[348,574,325],{"class":475},[348,576,490],{"class":362},[348,578,580,583,586,588,590,592,594,596,599,601,603,606,608,610,612,614,616,619],{"class":350,"line":579},12,[348,581,582],{"class":475},"    like",[348,584,585],{"class":362},"(posts",[348,587,472],{"class":358},[348,589,516],{"class":362},[348,591,472],{"class":358},[348,593,521],{"class":362},[348,595,472],{"class":358},[348,597,598],{"class":362},"title",[348,600,395],{"class":358},[348,602,372],{"class":358},[348,604,605],{"class":375},"%Tauri%",[348,607,379],{"class":358},[348,609,395],{"class":358},[348,611,372],{"class":358},[348,613,243],{"class":375},[348,615,379],{"class":358},[348,617,618],{"class":362},")     ",[348,620,621],{"class":501},"// Filter on the aliased table\n",[348,623,625],{"class":350,"line":624},13,[348,626,567],{"class":362},[348,628,630,632,635,638],{"class":350,"line":629},14,[348,631,485],{"class":358},[348,633,634],{"class":475},"all",[348,636,637],{"class":362},"()",[348,639,382],{"class":358},[243,641,642],{},[299,643,644],{},"Explanation:",[646,647,648,655,675],"ol",{},[267,649,650,651,654],{},"We start the query from the ",[252,652,653],{},"users"," table.",[267,656,657,658,660,661,664,665,668,669,671,672,472],{},"We ",[252,659,336],{}," the ",[252,662,663],{},"posts"," table, giving it the alias ",[252,666,667],{},"'p'",". The ",[252,670,284],{}," condition is ",[252,673,674],{},"users.id = posts.authorId",[267,676,677,678,681,682,685,686,688,689,692,693,696,697,472],{},"In the ",[252,679,680],{},".where()"," clause, we filter on ",[252,683,684],{},"posts.title",". Critically, we must pass the alias ",[252,687,667],{}," as the third argument to ",[252,690,691],{},"like()"," so the ORM knows to generate ",[252,694,695],{},"WHERE p.title LIKE ?"," instead of ",[252,698,699],{},"WHERE title LIKE ?",[243,701,702,705,706,708,709,712],{},[299,703,704],{},"Note:"," Manual joins return flat results. For nested data structures, use ",[247,707,193],{"href":249}," with ",[252,710,711],{},".include()"," instead.",[287,714,716],{"id":715},"the-result-shape","The Result Shape",[243,718,719,720,722,723,726,727,729],{},"Unlike the nested objects from ",[252,721,711],{},", queries with manual joins return a ",[299,724,725],{},"flat object",". To prevent column name collisions (e.g., both tables having an ",[252,728,526],{}," column), the ORM prefixes each column with its table name or alias.",[243,731,732],{},"The result of the query above would look like this:",[339,734,738],{"className":735,"code":736,"language":737,"meta":344,"style":344},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[\n  {\n    \"users.id\": 1,\n    \"users.fullName\": \"Jane Doe\",\n    \"p.id\": 101,\n    \"p.title\": \"Getting Started with Tauri\",\n    \"p.authorId\": 1\n  }\n]\n","json",[252,739,740,745,750,771,792,808,828,842,847],{"__ignoreMap":344},[348,741,742],{"class":350,"line":351},[348,743,744],{"class":358},"[\n",[348,746,747],{"class":350,"line":385},[348,748,749],{"class":358},"  {\n",[348,751,752,755,758,761,764,768],{"class":350,"line":414},[348,753,754],{"class":358},"    \"",[348,756,757],{"class":457},"users.id",[348,759,760],{"class":358},"\"",[348,762,763],{"class":358},":",[348,765,767],{"class":766},"sbssI"," 1",[348,769,770],{"class":358},",\n",[348,772,773,775,778,780,782,785,788,790],{"class":350,"line":447},[348,774,754],{"class":358},[348,776,777],{"class":457},"users.fullName",[348,779,760],{"class":358},[348,781,763],{"class":358},[348,783,784],{"class":358}," \"",[348,786,787],{"class":375},"Jane Doe",[348,789,760],{"class":358},[348,791,770],{"class":358},[348,793,794,796,799,801,803,806],{"class":350,"line":454},[348,795,754],{"class":358},[348,797,798],{"class":457},"p.id",[348,800,760],{"class":358},[348,802,763],{"class":358},[348,804,805],{"class":766}," 101",[348,807,770],{"class":358},[348,809,810,812,815,817,819,821,824,826],{"class":350,"line":482},[348,811,754],{"class":358},[348,813,814],{"class":457},"p.title",[348,816,760],{"class":358},[348,818,763],{"class":358},[348,820,784],{"class":358},[348,822,823],{"class":375},"Getting Started with Tauri",[348,825,760],{"class":358},[348,827,770],{"class":358},[348,829,830,832,835,837,839],{"class":350,"line":493},[348,831,754],{"class":358},[348,833,834],{"class":457},"p.authorId",[348,836,760],{"class":358},[348,838,763],{"class":358},[348,840,841],{"class":766}," 1\n",[348,843,844],{"class":350,"line":505},[348,845,846],{"class":358},"  }\n",[348,848,849],{"class":350,"line":551},[348,850,851],{"class":358},"]\n",[853,854,855],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":344,"searchDepth":385,"depth":385,"links":857},[858,861,862],{"id":289,"depth":385,"text":290,"children":859},[860],{"id":314,"depth":414,"text":315},{"id":329,"depth":385,"text":330},{"id":715,"depth":385,"text":716},"Joins in Tauri SQLite ORM.","md",null,{},{"title":201,"description":863},"LMwLbCMhKLQyDVZIuTyXLY7RsbXfipHbIG8ya2AFJMg",[870,872],{"title":197,"path":198,"stem":199,"description":871,"children":-1},"Error handling, WHERE validation, and safety features",{"title":205,"path":206,"stem":207,"description":873,"children":-1},"Transactions in Tauri SQLite ORM.",1773317304260]