Oracle别名使用问题
发布网友
发布时间:2022-04-08 01:32
我来回答
共3个回答
热心网友
时间:2022-04-08 03:01
用SELECT语句从表中提取查询数据。语法为
SELECT [DISTINCT] {column1,column2,…} FROM tablename WHERE {conditions} GROUP BY {conditions} ORDER BY {expressions} [ASC/DESC];
说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一个表或视图中检索数据。
SELECT中的操作符及多表查询WHERE子句。(LIKE,IS,…)
WHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比较运算符的条件式,还可以是由单一的条件表达通过逻辑运算符组合成复合条件。
ORDER BY 子句
ORDER BY 子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定。
1) UPDATE tablename SET {column1=expression1,column2=expression2,…} WHERE {conditions};
例如:S QL>UPDATE EMP
SET JOB =’MANAGER’
WHERE ENAME=’MAPTIN’;
SQL >SELECT * FROM EMP;
UPDATE子句指明了要修改的数据库是EMP,并用WHERE子句*了只对名字(ENAME)为’MARTIN’的职工的数据进行修改,SET子句则说明修改的方式,即把’MARTION’的工作名称(JOB)改为’MARAGER’.
2) INSERT INTO tablename {column1,column2,…} VALUES {expression1,expression2,…};
例如:SQL>SELECT INTO DEPT(DNAME, DEPTNO)
VALUES (‘ACCOUNTING’,10)
3) DELETE FROM tablename WHERE {conditions};
例如:SQL>DELETE FROM EMP
WHERE EMPNO = 7654;
DELETE命令删除一条记录,而且DELETE命令只能删除整行,而不能删除某行中的部分数据.
热心网友
时间:2022-04-08 04:19
这个主要是sql执行顺序的问题,
SQL语句的执行顺序大致如下所示:
1. FROM语句
2. WHERE语句(结合条件)
3. START WITH语句
4. CONNECT BY语句
5. WHERE语句
6. GROUP BY语句
7. HAVING语句
8. MODEL语句
9. SELECT语句
10. UNION、MINUS、INTERSECT等集合演算演算
11. ORDER BY语句
where 子句在select子句之前就执行了,所以执行报错找不到该列。
having报错也是同理
order by语句在select之后,所以正常执行。
参考链接:http://www.cnblogs.com/godtrue/p/3791591.html
热心网友
时间:2022-04-08 05:54
别名不是这么用的,给你个例子你就懂了
select * from (select fruitname f from fruit) where f='apple'
select * from (select fruitname,count(*) c from fruit group by fruitname) where c>0;
零基础学Oracle-为列指定别名
在Oracle数据库中,为列指定别名是一项常见的操作,它能让用户更方便地理解和查询数据。别名的设置既可以用AS关键字,也可以直接指定。不使用别名的情况并未在文中详述,但提到了利用round()函数进行四舍五入的技巧。接下来,我们深入探讨如何为列设置别名。在SQL查询中,使用AS关键字明确指定列名和别名...
关于Oracle SQL 官档上的'在Using上使用别名'的一句话的理解
(1)select name as studentname from student where studentname ='张三' ; where后面name使用了别名studentname这样是会报错的 (2)select name as studentname from student where name ='张三' 这样才正确。要想第一种别名情况正确,改一下语句 select studentname from ( select ...
oracle中怎么给列名取别名?
别名用”as“即可,然后as也可以省略掉。举例如下:sql:select a.name as username,a.age as userage from tablename as a;解释:给tablename命名为a ,之后给a表中的name命名为username,age命名为userage 。其中”as“都是可以省略的,即:select a.name username,a.age userag...
在Oracle里,表的别名不用as,列的别名要用as?
列的别名也可以不用as,如:select t.a xxx from table t 在Oracle数据库中,数据表别名是不能加as的,例如:select a.appname from appinfo a;-- 正确 select a.appname from appinfo as a;-- 错误 注释:这可能是为了防止和Oracle数据库中的存储过程中的关键字as冲突的问题。
oracle数据库中为什么有时要起别名,别名具体什么时候用;
1,方便记忆,有时候名字太长了,你想弄个短点的,就弄个别名 2,通用性需要.想访问其他schema的table,总不能在程序里面写XX.TABLE,因为程序拿到其他DB用时,不一定有XX这个schema.3,有时候使用远程DB的table时, 用别名来隐藏远程DB的信息.因为未来可能把远程table移到本地或换个名字什么的.使用别名就...
Oracle字段别名加as与不加的区别
1、首先在oracle中as的作用主要是为表中的字段添加别名,如下图。2、在命名别名的时候也可以区分大小写,不过要加双引号"",如果不加双引号只是首字母大写的话,在查询结果的时候会全部被替换成大写。3、如果定义的别名为多个字符,如果不加双引号在语法上会报错误。4、在使用as为列定义别名的时候,...
oracle使用字段注解作为别名
在Oracle中as关键字不能用于指定表的别名,在Oracle中指定表的别名时只需在原有表名和表的别名之间用空格分隔即可,但可以用于指定列的别名,但在存储过程中如果列的别名与原有列名相同,在运行时会报错(编译时不会出错),其他情况下列的别名可以与列名本身相同。
oracle 查询可以多表用一个别名吗? 例如:有三张表People、Teacher、St...
"多表用一个别名"不可以...别名是指,比如说select * from teacher t, people p, student s,这里的t,p,s是别名,那么如果你select * from teacher t, people t,student t,这显然会造成混乱 如果你讲的是两个表的字段用同样的名字,那么是完全可以的 ...
oracle中的字段别名与表别名的命名规则,就是要不要加 as 要不要双引号...
字段别名加不加as都可以,表别名后面 不能加as 双引号括起来的表示特殊名字,比如名称中间有空格,带有小写字符(Oracle默认名称为大写) ,和sqlserver的方括号类似。
oracle为什么要使用别名?
比如:select * from 表1, 表2 where 表1.id = 表2.id 用了别名就是:select * from 表1 a, 表2 b where a.id = b.id 如果表名很长很长,别名可以减短输入长度 尤其是同一个表进行连接时,必须要用别名,比如:select * from 表1 a, 表1 b where a.id = b.fatherId ...