回 帖 发 新 帖 刷新版面

主题:区别相似查询语名?

1、sele a.* from dba01-100531 a,x6-yjjh b where a.jh=b.jh
2、sele * from dba01-100531 where dba01-100531.jh=x6-yjjh.jh
3、sele * from dba01-100531,x6-yjjh where dba01-100531.jh=x6-yjjh.jh
4、sele dba01-100531.* from dba01-100531 where dba01-100531.jh=x6-yjjh.jh
5、sele dba01-100531.* from dba01-100531,x6-yjjh where dba01-100531.jh=x6-yjjh.jh[/size][/size][/size][/size][/size][/size]



结果是1正确,其余都错误
这几行语句到底有什么区别

回复列表 (共4个回复)

沙发

表名的命名应该遵循变量的命名规则。2-5都与此有关——表名被理解成表达式
从结果的关联形式上,语句2、4是非join的
从结果集上,语句2、4仅与表2(x6-yjjh)的当前jh有关;语句3含有表2的字段

板凳

把dba01-100531和x6-yjjh中的“-”改成下划线,命名应该就没问题了吗?
如果不考虑变量命名规则即假使命名正确,
语句3能实现语句1同样的功能吗,即从dba01-100531中挑选择出表x6-yjjh中所有jh的信息吗?


对于语句5怎么看?

3 楼

假使命名正确:
1、5得到相同结果
3得到与1、5相同记录数但含表2(x6-yjjh)数据的结果

4 楼

3的*号不明确,应指明是哪个表的,若两表a,b都有,应用select a.*,b.* from ... 表示。

我来回复

您尚未登录,请登录后再回复。点此登录或注册