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

如题... 如题 展开
 我来答
床前明月儿
高能答主

2019-11-17 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171950

向TA提问 私信TA
展开全部

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

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


扩展资料

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

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

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

marser_clark
推荐于2017-09-17 · TA获得超过257个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:139万
展开全部
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语句不会出错,当然就不用重写了,而楼主这种写法是不符合规范的,要养成良好的习惯,这样的代码可以看看,但是自己不要用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
csuxp2008
2009-08-19 · TA获得超过6485个赞
知道大有可为答主
回答量:4704
采纳率:50%
帮助的人:2467万
展开全部
select * from a, b
就是a,b两个表做笛卡尔乘积,然后全部查询出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
绍伦景月
2020-02-02 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.4万
采纳率:28%
帮助的人:905万
展开全部
恩,union

union
all
是交集跟并集的写法
select
*
from
a
union
select
*
from
b
--这种是a表与b表结果的交集写法,合并表,没有重复行;
select
*
from
a
union
all
select
*
from
b
--这种是a表与b表结果的并集写法
有重复行;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenkaka0578
2009-08-19 · TA获得超过219个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:0
展开全部
这样的结果是:
如果你的a表有 x行记录,
b表y行记录,
结果有x*y行记录

但是你这样的语句似乎没什么意思
最好这样
比如你的a表中有ID列为主键,
b表中有AID是的外键,
select * from a, b
where a.id=b.aid
这样才有意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式