请问一个sql多表问题?
来源:百度知道 编辑:UC知道 时间:2024/06/18 17:10:59
请问一个sql多表问题?
where 用户信息.用户名=用户留言.用户名
第一个问题:
请问这里的等于号是,等于的意思还是连接的意思?
第二个问题:
如果这两个表中的用户名值,有一个不一样,那么请问这句条件成立吗?
where 用户信息.用户名=用户留言.用户名
第一个问题:
请问这里的等于号是,等于的意思还是连接的意思?
第二个问题:
如果这两个表中的用户名值,有一个不一样,那么请问这句条件成立吗?
等于
不成立
一
这个条件的完整表述是
SELECT *
FROM 用户信息 INNER JOIN
用户留言 ON 用户信息.用户名 = 用户留言.用户名
其含义就是以二个表用户名字段值相等为条件建立连接
二
无所谓成立与否,看你要得到的结果,如果有返回记录,说明有二个表中有符合该条件的记录,反之就是没有符合该条件的记录。
楼主提出这样的问题说明还明白多表连查。。
说下:select * from a表,b表 这个语句得出的结果是一个笛卡而集
也就是说如果a表有5条记录,b表有5条记录,那么执行上个sql语句得到的是
5*5=25条记录也就是说a表和b表的交叉乘积。
那么再在这25条记录的集合里用where过滤一下,a.用户名=b.用户名
并不是成立或者不成立,而是你要查询出正确结果的条件。