บทช่วยสอน SQLite ร่วม ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ ข้าม Connect - CROSS JOIN,en - INNER JOIN,การเชื่อมต่อภายนอก - เข้าร่วม outer,
SQLiteจะร่วมข้อที่จะรวมสองคนหรือมากกว่าตารางในบันทึกฐานข้อมูลเข้าร่วมเป็นค่าร่วมกันโดยการรวมสองเขตข้อมูลในตารางหมายถึง
SQL กำหนดสามประเภทหลักของการเชื่อมต่อ:
ข้าม Connect - CROSS JOIN
en - INNER JOIN
การเชื่อมต่อภายนอก - เข้าร่วม outer
ก่อนที่เราจะดำเนินการต่อให้เราคิดว่ามีสองตาราง บริษัท ฯ และกรม ที่เราเคยเห็นใช้ในการกรอก บริษัท คำสั่งตาราง INSERT ตอนนี้ให้เราถือว่าระเบียนตาราง บริษัท จดทะเบียนดังต่อไปนี้:
ID NAME เงินเดือนอายุที่อยู่ ---------- ---------- ---------- ---------- ---------- 1 เปาโล 32 20,000.0 แคลิฟอร์เนีย 2 อัลเลน 25 15,000.0 เท็กซัส เท็ดดี้ 3 23 นอร์เวย์ 20,000.0 4 มาร์ครวย 25-Mond 65,000.0 5 ดาวิด 27 85,000.0 เท็กซัส 6 คิม 22 ใต้ 45,000.0 ฮอลล์ 7 เจมส์ 24 ฮุสตัน 10,000.0
โต๊ะก็คือกรมจะกำหนดดังนี้
สร้างตารางกรม ( ID INT คีย์หลักไม่เป็นโมฆะ, DEPT CHAR (50) ไม่เป็นโมฆะ, emp_id INT ไม่เป็นโมฆะ );
ต่อไปนี้เป็นตาราง DEPARTMENT คำสั่ง INSERT ที่เต็มไปด้วย:
INSERT INTO กรม (ID, ฝ่าย emp_id) VALUES (1, 'การเรียกเก็บเงินไอที, 1); INSERT INTO กรม (ID, ฝ่าย emp_id) VALUES (2, 'วิศวกรรม', 2); INSERT INTO กรม (ID, ฝ่าย emp_id) VALUES (3, 'การเงิน' 7);
สุดท้ายเรามีรายการต่อไปนี้ของระเบียนในตารางกรม:
ID DEPT emp_id ---------- ---------- ---------- การเรียกเก็บเงิน 1 1 2 วิศวกรรมการ 2 3 การคลัง 7
เชื่อมต่อข้าม (CROSS JOIN) แถวของตารางแรกแต่ละคนมีแถวของตารางที่สองเพื่อให้ตรงกับแต่ละ ถ้าทั้งสองเข้าตารางคอลัมน์ x และ y ตามลำดับตารางผลที่ได้ X + Y คอลัมน์ ตั้งแต่การเชื่อมต่อข้าม (CROSS JOIN) อาจผลิตตารางขนาดใหญ่มากที่คุณจะต้องใช้ความระมัดระวังในการใช้พวกเขาเพียง แต่เมื่อมีความเหมาะสม
นี่คือไวยากรณ์สำหรับการเชื่อมต่อข้าม (CROSS JOIN) ของ:
SELECT th. จาก table1 CROSS JOIN Table2 th.
ขึ้นอยู่กับตารางข้างต้นเราสามารถเขียนข้าม Connect (CROSS JOIN) ดังต่อไปนี้:
SQLite> emp_id SELECT ชื่อ DEPT จาก บริษัท CROSS JOIN กรม;
แบบสอบถามดังกล่าวจะก่อให้เกิดผลต่อไปนี้:
emp_id NAME DEPT ---------- ---------- ---------- การเรียกเก็บเงิน 1 เปาโลไอที 2 พอลวิศวกรรมการ 7 พอลการคลัง การเรียกเก็บเงิน 1 อัลเลนไอที 2 อัลเลนวิศวกรรมการ 7 อัลเลนการเงิน การเรียกเก็บเงิน 1 เท็ดดี้ไอที เท็ดดี้ 2 วิศวกรรมการ 7 เท็ดดี้การเงิน การเรียกเก็บเงิน 1 ทำเครื่องหมาย 2 มาร์ควิศวกรรมการ 7 มาร์คการเงิน การเรียกเก็บเงิน 1 เดวิดไอที 2 เดวิดวิศวกรรมการ 7 เดวิดการเงิน การเรียกเก็บเงิน 1 คิมไอที 2 คิมวิศวกรรมการ 7 คิมการคลัง การเรียกเก็บเงิน 1 เจมส์ไอที 2 เจมส์วิศวกรรมการ 7 เจมส์การเงิน
การเชื่อมต่อภายใน (INNER JOIN) เพื่อสร้างตารางใหม่ผลรวมสองตาราง (table1 และ Table2) เข้าร่วมในค่าของคอลัมน์กริยา คำสั่งจะ Table1 และ Table2 ในแต่ละแถวในแต่ละแถวจะเปรียบเทียบเพื่อหาแถวทั้งหมดที่ตอบสนองความร่วมคู่จับคู่คำกริยา เมื่อความพึงพอใจเข้าร่วมค่าในคอลัมน์กริยา A และ B แต่ละแถวจับคู่ของผลที่ได้จะถูกรวมเข้าเป็นหนึ่งแถว
การเชื่อมต่อภายใน (INNER JOIN) เป็นชนิดที่พบมากที่สุดของการเชื่อมต่อเป็นประเภทการเชื่อมต่อเริ่มต้น คำหลัก INNER เป็นตัวเลือก
นี่คือไวยากรณ์สำหรับการรวมภายใน (INNER JOIN) ของ:
SELECT th. จาก table1 [INNER] เข้าร่วม Table2 ON conditional_expression th.
เพื่อหลีกเลี่ยงความซ้ำซ้อนและให้ถ้อยคำสั้น ๆคุณสามารถใช้คำสั่งในการเชื่อมต่อการใช้การแสดงออก (INNER JOIN) สภาพสำนวนนี้ระบุรายชื่อของหนึ่งหรือมากกว่าหนึ่งคอลัมน์:
SELECT th. จาก table1 JOIN Table2 ใช้ (COLUMN1, th. ) th.
การเชื่อมต่อธรรมชาติ (NATURAL JOIN)จะคล้ายกับการเข้าร่วม th. ใช้ แต่มันจะมีค่าเท่ากันระหว่างค่าของสองตารางในแต่ละคอลัมน์ทดสอบโดยอัตโนมัติสำหรับการปรากฏตัวของ:
SELECT th. จาก table1 ธรรมชาติ JOIN Table2 th.
ยึดตามตารางข้างต้นเราสามารถเขียนรวมภายใน (INNER JOIN) ดังต่อไปนี้:
SQLite> emp_id SELECT ชื่อ DEPT จาก บริษัท รวมภายในกรม ON COMPANY.ID = DEPARTMENT.EMP_ID;
แบบสอบถามดังกล่าวจะก่อให้เกิดผลต่อไปนี้:
emp_id NAME DEPT ---------- ---------- ---------- การเรียกเก็บเงิน 1 เปาโลไอที 2 อัลเลนวิศวกรรมการ 7 เจมส์การเงิน
การเชื่อมต่อภายนอก (OUTER JOIN) เป็นรวมภายใน (INNER JOIN) ส่วนขยาย แม้ว่า SQL มาตรฐานกำหนดสามประเภทของนอกเข้าร่วม: ซ้าย, ขวา, เต็ม แต่ SQLiteรองรับซ้ายเพียงด้านนอกเข้าร่วม (ซ้าย OUTER JOIN)
การเชื่อมต่อภายนอก (OUTER JOIN) ประกาศหลักเกณฑ์เงื่อนไขและวิธีการในการเชื่อมต่อภายใน (INNER JOIN) เป็นเดียวกันการใช้งานบนที่ใช้คำว่าธรรมชาติหรือการแสดงออก ตารางผลเบื้องต้นการคำนวณในลักษณะเดียวกัน เมื่อคำนวณจะเสร็จสิ้นการเชื่อมต่อหลักเชื่อมต่อภายนอก (OUTER JOIN) จากหนึ่งหรือสองตารางไม่ได้เชื่อมต่อสายใด ๆ ในการผสานเข้าร่วม outer คอลัมน์ที่มีค่าเป็น NULL, แนบให้ตารางผลลัพธ์
นี่คือไวยากรณ์สำหรับการเข้าร่วม outer ซ้าย (ซ้าย OUTER JOIN) ของ:
SELECT th. จาก table1 ซ้าย OUTER JOIN Table2 ON conditional_expression th.
เพื่อหลีกเลี่ยงความซ้ำซ้อนและให้ถ้อยคำสั้น ๆคุณสามารถใช้คำสั่งการใช้นิพจน์นอกร่วม (OUTER JOIN) สภาพสำนวนนี้ระบุรายชื่อของหนึ่งหรือมากกว่าหนึ่งคอลัมน์:
SELECT th. จาก table1 ซ้าย OUTER JOIN Table2 ใช้ (COLUMN1, th. ) th.
ขึ้นอยู่กับตารางข้างต้นเราสามารถเขียนการเชื่อมต่อภายนอก (OUTER JOIN) ดังต่อไปนี้:
SQLite> emp_id SELECT ชื่อ DEPT จาก บริษัท ภายนอกด้านซ้าย DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID;
แบบสอบถามดังกล่าวจะก่อให้เกิดผลต่อไปนี้:
emp_id NAME DEPT ---------- ---------- ---------- การเรียกเก็บเงิน 1 เปาโลไอที 2 อัลเลนวิศวกรรมการ เท็ดดี้ เครื่องหมาย เดวิด คิม 7 เจมส์การเงิน