请问一个sql多表问题?

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:10:59
请问一个sql多表问题?

where 用户信息.用户名=用户留言.用户名

第一个问题:

请问这里的等于号是,等于的意思还是连接的意思?

第二个问题:

如果这两个表中的用户名值,有一个不一样,那么请问这句条件成立吗?

等于

不成立



这个条件的完整表述是
SELECT *
FROM 用户信息 INNER JOIN
用户留言 ON 用户信息.用户名 = 用户留言.用户名

其含义就是以二个表用户名字段值相等为条件建立连接



无所谓成立与否,看你要得到的结果,如果有返回记录,说明有二个表中有符合该条件的记录,反之就是没有符合该条件的记录。

楼主提出这样的问题说明还明白多表连查。。

说下:select * from a表,b表 这个语句得出的结果是一个笛卡而集
也就是说如果a表有5条记录,b表有5条记录,那么执行上个sql语句得到的是
5*5=25条记录也就是说a表和b表的交叉乘积。

那么再在这25条记录的集合里用where过滤一下,a.用户名=b.用户名
并不是成立或者不成立,而是你要查询出正确结果的条件。