-1
我想从三张表tbl_books
,tbl_books_author
和tbl_books_subject
中搜索“law”。我正在运行以下查询。使用我的查询从多个表中搜索关键字,
SELECT *
FROM tbl_books p, tbl_books_author d, tbl_books_subject m
WHERE p.title = 'law'
OR d.author = 'law'
OR m.subject = 'law'
LIMIT 0,30;
当运行此查询它显示在最前面 “显示行0 - 29(1759260总计,查询花费5.1206秒)”。你能解释一下为什么它会显示这个。
这是什么原因?
你基本上建立一个[笛卡尔乘积(HTTP: //en.wikipedia.org/wiki/Cartesian_product)涉及3个表格。您希望它返回什么?这3张桌子是不是应该用外键连接?你真的有一个叫“法律”的作者吗? – Marian
如果我使用INNER JOIN连接所有表,然后运行查询。所有的表都有id作为主键。 –
听起来像一个计划! –