Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การจำลอง INTERSECT query ที่คืนหลายคอลัมน์ (Multiple Expressions) ใน MySQL


MySQL ไม่มี INTERSECT ใช้ EXISTS operator จำลองได้ ตัวอย่างตาราง Student_detail และ Student_info เดียวกัน:

ตัวอย่าง

หา studentid, name, address ที่ name ไม่ใช่ 'Yashpal' และมีในทั้งสองตาราง:

mysql> Select Student_detail.studentid,Student_detail.name, student_detail.address FROM student_detail WHERE Student_detail.studentid >100 AND EXISTS (SELECT * FROM Student_info WHERE Student_info.Name <> 'Yashpal' AND Student_info.studentid = Student_detail.studentid AND Student_info.name = Student_detail.name);
+-----------+--------+------------+
| studentid | name   | address    |
+-----------+--------+------------+
|       105 | Gaurav | Chandigarh |
|       130 | Ram    | Jhansi     |
|       132 | Shyam  | Chandigarh |
|       133 | Mohan  | Delhi      |
+-----------+--------+------------+
4 rows in set (0.00 sec)

คืนหลายคอลัมน์จากตารางซ้ายที่ตรงเงื่อนไข EXISTS กับตารางขวา