解释数SQL面的 select * from a, b 是什么意思

如题

 select * from a, b 的意思是从表a跟表b的关联表中查找数据。其中a表跟b表使用的是join方式连接查询。

连接查询是关系数据库中最主要的查询,主要包括内连接、外连接和交叉连接等。通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是区别于其它类型数据库管理系统的一个标志。


扩展资料

内连接的连接查询结果集中仅包含满足条件的行,内连接是SQL Server缺省的连接方式,可以把INNER JOIN简写成JOIN,根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种。

交叉连接的连接查询结果集中包含两个表中所有行的组合;外连接的连接查询结果集中既包含那些满足条件的行,还包含其中某个表的全部行,有3种形式的外连接:左外连接、右外连接、全外连接。

参考资料来源:百度百科-join()

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-17
select * from a, b意思很简单,就是查询a、b里面所有的数据。
如果后面有条件的话,意思就会变化,例如:
select * from a,b wher a.id=b.aid此时的语句相当于
select * from a inner join on a.id=b.aid。
这是一个sql语句写法的问题,楼主这种写法不太好,最好用
select * from a inner join b...或者select * from a union b...,根据具体需要而定。楼主的这种写法可能只适合某种数据库,例如:sqlserser,但是如果放到别的数据库可能就不行了。
sql语句有标准,最好遵循sql92标准,这样以后换数据库的话,sql语句不会出错,当然就不用重写了,而楼主这种写法是不符合规范的,要养成良好的习惯,这样的代码可以看看,但是自己不要用。本回答被提问者采纳
第2个回答  2009-08-19
select * from a, b
就是a,b两个表做笛卡尔乘积,然后全部查询出来
第3个回答  2020-02-02
恩,union

union
all
是交集跟并集的写法
select
*
from
a
union
select
*
from
b
--这种是a表与b表结果的交集写法,合并表,没有重复行;
select
*
from
a
union
all
select
*
from
b
--这种是a表与b表结果的并集写法
有重复行;
第4个回答  2009-08-19
这样的结果是:
如果你的a表有 x行记录,
b表y行记录,
结果有x*y行记录

但是你这样的语句似乎没什么意思
最好这样
比如你的a表中有ID列为主键,
b表中有AID是的外键,
select * from a, b
where a.id=b.aid
这样才有意义
相似回答