SQL语句“*“的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句“*“的区别相关的知识,希望对你有一定的参考价值。
下列 SQL select * from talbe a,talbe b where a.c1 *=b.c1 select * from talbe a,talbe b where a.c1 *=b.c1
与
select * from talbe a,talbe b where a.c1 *=b.c1 select * from talbe a,talbe b where a.c1 =b.c1
有何不同?
select * from talbe a,talbe b where a.c1 *=b.c1
select * from talbe a,talbe b where a.c1 =b.c1
问题复制多了,其实就是where条件的*区别。
第一种,select *,这个星号在SELECT关键字后边,替代了查询的具体字段,数据库会根据FROM后边的表名字,解析成表的所有字段。也可以写成SELECT TABLE.*,这样就会解析成TABLE表的所有字段。
第二种,数字运算中的乘法符号,select 1*2 from ...,这个是两个数字相乘。
第三种,也是你的这种数据库特有的,外连接符号。 *= 表示左外连接。不同的数据库,这个外连接的符号是不同的。ORACLE使用(+),而SQLSERVER使用* 参考技术A *=/=*这是左联/右联
等同
left join /right join
这是MS SQL7.0的用法,在SQL2000也可以用 参考技术B *做运算符时是乘法运算
在select 后面时 列出表所有列 参考技术C * 表示表的所有字段
% 模糊查询通配符
sql语句和hql语句的区别?
数据库中hql与sql的区别:
1、sql 面向数据库表查询。
2、hql 面向对象查询。
3、hql : from 后面跟的 类名+类对象 where 后 用 对象的属性做条件。
4、sql: from 后面跟的是表名 where 后 用表中字段做条件查询。
5、在Hibernate中使用查询时,一般使用Hql查询语句。
6、HQL(Hibernate Query Language),即Hibernate的查询语言跟SQL非常相像。不过HQL与SQL的最根本的区别,就是它是面向对象的。
在Hibernate中使用查询时,一般使用Hql查询语句。
HQL(Hibernate Query Language),即Hibernate的查询语言跟SQL非常相像。不过HQL与SQL的最根本的区别,就是它是面向对象的。
使用HQL时需要注意以下几点:
大小写敏感
因为HQL是面向对象的,而对象类的名称和属性都是大小写敏感的,所以HQL是大小写敏感的。
HQL语句:from Cat as cat where cat.id > 1;与from Cat as cat where cat.ID > 1;是不一样的,这点与SQL不同。
from子句
from Cat,该句返回Cat对象实例,开发人员也可以给其加上别名,eg. from Cat as cat,对于多表查询的情况,可参考如下:
from Cat as cat, Dog as dog
其它方面都与SQL类似,在此不再赘述。
参考技术A hql是面向对象的 。其实还是转成了sql语句
hql在数据库通用,切换数据库方言就可以
sql在不同数据库中语法有些不同
还是sql比较灵活一些。。
HQL(Hibernate Query Language)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖 Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。
sql只是结构化查询语言,只是面向数据检索,不具有面向对象的特征,所以HQL更加符合开发标准!本回答被提问者采纳 参考技术B 1,hql可以编译成不同数据库对应的sql语言
2,hql操作类和对象,sql操作过程
3,hql会编译成sql,因此在同等情况下sql效率更高 参考技术C 基本上一样。只不过hql是用于ORM,即对象映射。
可能你在用的时候,普通的sql是大小写不区分,并且字段名与数据库一致。
而hql则是大小写区分,字段名与你定义的pojo对象一致。
以上是关于SQL语句“*“的区别的主要内容,如果未能解决你的问题,请参考以下文章