下面哪四个可以用a subquery
1 in the into clause of an insert statement
2 in the from clause of a select statement
3 in the group by clause of a select statement
4 in the where clause of a select statement
5 in the set clause of a update statement
6 in the values clause of an insert statement
1 in the into clause of an insert statement
2 in the from clause of a select statement
3 in the group by clause of a select statement
4 in the where clause of a select statement
5 in the set clause of a update statement
6 in the values clause of an insert statement
解决方案 »
- 这句为什么执行特别慢
- 急!!!我更换了ip后oracle数据库启动不了
- 求oracle编程面试题
- 选择当月每天的销售单量,select出的结果有2天没数据的没显示,怎么让没数据的那几天显示0?
- 怎么修改一个数字字段
- 看下sql怎么写
- 复杂的sql语句,请问怎么写?
- 菜鸟问题:ORACLE 用户名问题
- 请教高手这样需求的SQL语句应该怎么写?
- Oracle先按周分,当周含两个月份,再按月分,怎么写SQL语句?大佬求助!!!
- oracle 的job问题
- 不显示删除回复显示所有回复显示星级回复显示得分回复 帮帮小妹啊!我是新手刚刚开始学oracle!!我要用oracle为车牌识别系统建立一个数据库~~不知道怎么
SQL 基础--> 子查询
insert 语句的values后面只能使用具体数值.
6是说insert语句中的values值可以用子查询 对的吧
insert into table select ...from
insert into select ...
insert into values select ...?
(SELECT SS FROM T2)
select c1 FROM t1 WHERE c1 = 'Davies';
这样都可以。
scott@YPCOST> insert into (select name from test) select ename from emp;已创建14行。scott@YPCOST> commit;提交完成。scott@YPCOST> select * from test; ID NAME
---------- ----------
2 dfds
3 dfds
4 SMITH
5 ALLEN
6 WARD
7 JONES
8 MARTIN
9 BLAKE
10 CLARK
11 SCOTT
12 KING
13 TURNER
14 ADAMS
15 JAMES
16 FORD
17 MILLER已选择16行。
select from
是1所描述的情况吧
scott@YPCOST> insert into test values(select 'dfds' from dual);
insert into test values(select 'dfds' from dual)
*
第 1 行出现错误:
ORA-00936: 缺失表达式
scott@YPCOST> insert into test values (select 'dd' from dual);
insert into test values (select 'dd' from dual)
*
第 1 行出现错误:
ORA-00936: 缺失表达式
insert_statement ::=
INSERT_INTO {table_reference | (subquery) | TABLE (subquery2) }
[(column_name [, column_name]...)]
{VALUES (sql_expression [, sql_expression]...) [ returning_clause ]
| subquery3} ;
1的情况是:如(Aspen) 的测试insert into (select name from test) select ename from emp;6的情况是:insert 语句中的values值,可以用子查询,即:insert into emp select * from emp;
反正我是这么理解6的意思的
insert into t values( select 1 from dual);SQL code
scott@YPCOST> insert into test values(select 'dfds' from dual);
insert into test values(select 'dfds' from dual)
*
第 1 行出现错误:
ORA-00936: 缺失表达式
scott@YPCOST> insert into test values (select 'dd' from dual);
insert into test values (select 'dd' from dual)
*
第 1 行出现错误:
ORA-00936: 缺失表达式看看
即使你要对一个字段做插入,values里面得用子查询也必须加个括号.实际上对oracle
来说还是插入的一个值,只不过这个值是通过子查询的出的.说的话比较枯燥,直接给你个例子就明白了.
SQL> desc t_test_temp
Name Type Nullable Default Comments
---- ------------- -------- ------- --------
ID NUMBER Y
NAME VARCHAR2(100) Y
SQL> INSERT INTO t_test_temp(id) VALUES(SELECT 1 FROM dual);
INSERT INTO t_test_temp(id) VALUES(SELECT 1 FROM dual)
ORA-00936: 缺失表达式
SQL> INSERT INTO t_test_temp(id) VALUES((SELECT 1 FROM dual));
1 row inserted
SQL>