ในการแยกทูเพิลด้วยค่าทั่วไปที่ระบุ ให้ใช้ไวยากรณ์ต่อไปนี้ -
เลือก DISTINCTaliasName.yourColumnName1,aliasName.yourColumnName2,aliasName1.yourColumnName1,aliasName1.yourColumnName2FROM yourTableName aliasNameINNER JOIN yourTableName aliasName1ON aliasName.yourColumnName1 ='ColumnName2'yourTableName aliasNameINNER JOIN yourTableName aliasName1ON aliasName.yourColumnName1 ='ColumnName'2'ค่า' aliasNamen1.ของคุณ>เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง extractTuples -> ( -> Id int, -> Name varchar(20), -> ข้อความความคิดเห็น -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.77 วินาที)แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า extractTuples (1,'John','hi'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า extractTuples (2,'Carol','hello'); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)mysql> แทรกลงในค่า extractTuples (3,'John','Amazing'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า extractTuples (1,'Carol', 'ดี');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก extractTuples;ผลลัพธ์
<ก่อนหน้า>+------+-------+----------+| รหัส | ชื่อ | ความคิดเห็น |+------+-------+----------+| 1 | จอห์น | สวัสดี || 2 | แครอล | สวัสดี || 3 | จอห์น | น่าทึ่ง || 1 | แครอล | ดี |+------+-------+----------+4 แถวในชุด (0.00 วินาที)
นี่คือแบบสอบถามเพื่อแยกสิ่งอันดับด้วยค่าทั่วไปที่ระบุ -
mysql> SELECT DISTINCT tbl.Id,tbl.Name,tbl1.Id,tbl1.Name -> FROM extractTuples tbl -> เข้าร่วมภายใน extractTuples tbl1 -> เปิด tbl.Id =tbl1.Id -> WHERE tbl.Name ='John' และ tbl1.Name ='Carol';