ใช้ COUNT(*) ร่วมกับ JOIN ตารางตัวเอง (Self-join) เพื่อหาคู่ค่าที่สลับกัน
mysql> CREATE TABLE DemoTable1543 (
-> Value1 INT,
-> Value2 INT
-> );
Query OK, 0 rows affected (1.36 sec)
mysql> INSERT INTO DemoTable1543 VALUES(57, 60); Query OK, 1 row affected (0.52 sec) mysql> INSERT INTO DemoTable1543 VALUES(60, 68); Query OK, 1 row affected (0.38 sec) mysql> INSERT INTO DemoTable1543 VALUES(90, 98); Query OK, 1 row affected (0.36 sec) mysql> INSERT INTO DemoTable1543 VALUES(98, 90); Query OK, 1 row affected (0.20 sec)
mysql> SELECT * FROM DemoTable1543;
+--------+--------+ | Value1 | Value2 | +--------+--------+ | 57 | 60 | | 60 | 68 | | 90 | 98 | | 98 | 90 | +--------+--------+ 4 rows in set (0.00 sec)
นับคู่ที่ Value1=90 และ Value2=90 ในแถวที่สลับกัน (90→98 และ 98→90):
mysql> SELECT COUNT(*) FROM DemoTable1543 tbl1
-> JOIN DemoTable1543 tbl2
-> ON tbl1.Value2 = tbl2.Value1
-> WHERE tbl1.Value1 = 90 AND tbl2.Value2 = 90;
+----------+ | COUNT(*) | +----------+ | 1 | +----------+ 1 row in set (0.00 sec)
การประยุกต์: หาความสัมพันธ์สองทาง (mutual relationship) เช่น เพื่อนสนิท, การโอนเงินระหว่างบัญชีเดียวกัน