急急急,这SQL语句是什么意思
答案:4 悬赏:60 手机版
解决时间 2021-01-14 20:27
- 提问者网友:精神病院里
- 2021-01-14 08:59
急急急,这SQL语句是什么意思
最佳答案
- 五星知识达人网友:掌灯师
- 2021-01-14 10:31
这是oracle的sql
create table jz_bill_id201310021 as
//create table是创建表, jz_bill_id201310021是要创建的表的名称
select a.*,b.user_id,cust_id,b.OS_status,b.acc_id
//select是数据库的查询语句
// 是oracle的查询提示,表示a与b连接时使用hash join
//后面的都是表的列名
from jz_bill_id201310021 a, base.cm_account d
//表示数据来源于2个表,分别是jz_bill_id201310021和base.cm_account,它们各有一个别名,分别叫a和d,这么短的别名写起来简单
where a.ACC_id=d.CC_id(+);
//where是过滤条件, (+)表示是一个左连接,意思表a里的acc_id若在d中的cc_id没找到匹配的话就把d中选出的列补空
你这个sql肯定会错, from jz_bill_id201310021表示这个表已经存在,但create table jz_bill_id201310021又在创建同名的表
create table jz_bill_id201310021 as
//create table是创建表, jz_bill_id201310021是要创建的表的名称
select a.*,b.user_id,cust_id,b.OS_status,b.acc_id
//select是数据库的查询语句
// 是oracle的查询提示,表示a与b连接时使用hash join
//后面的都是表的列名
from jz_bill_id201310021 a, base.cm_account d
//表示数据来源于2个表,分别是jz_bill_id201310021和base.cm_account,它们各有一个别名,分别叫a和d,这么短的别名写起来简单
where a.ACC_id=d.CC_id(+);
//where是过滤条件, (+)表示是一个左连接,意思表a里的acc_id若在d中的cc_id没找到匹配的话就把d中选出的列补空
你这个sql肯定会错, from jz_bill_id201310021表示这个表已经存在,但create table jz_bill_id201310021又在创建同名的表
全部回答
- 1楼网友:等灯
- 2021-01-14 13:00
create table jz_bill_id201310021 表示创建一个名字为jz_bill_id201310021的表 后接as 说明这个表创建的作用是保存后面查询处理的数据;
select 是sql中查询的关键字,select 后面的这些内容一直到from关键字,如a.* ,b.user_id等都是要查询的内容,from后面是一个表的名字,意思是从哪个表里查询; 表后面有一个a,一个b 意思是给表取的一个临时的替代简称,前面有用到; 最后where就是一个查询的条件; 希望你能明白,采纳一下吧!
select 是sql中查询的关键字,select 后面的这些内容一直到from关键字,如a.* ,b.user_id等都是要查询的内容,from后面是一个表的名字,意思是从哪个表里查询; 表后面有一个a,一个b 意思是给表取的一个临时的替代简称,前面有用到; 最后where就是一个查询的条件; 希望你能明白,采纳一下吧!
- 2楼网友:迷人又混蛋
- 2021-01-14 12:40
语句应该是错的,jz_bill_id201310021 已经存在,无法执行create。不知道使用的是什么数据库,可能我孤陋寡闻了,但是语法上来说【听雨知秋寒】解释很全面了
- 3楼网友:酒醒三更
- 2021-01-14 11:34
你的原文意思 CREATE TABLE (创建表)jz_bill_id201310021 (创建的表名)
-select (查询) () a.* (a表的所有字段),b.user_id(b表的user_id 字段),cust-id,b.OS_status,b.acc-id (都是代表要查询的字段)
-from (指定查询的表)
-jz_bill_id201310021 a, (表jz_bill_id201310021 别名 a)
-base.cm_account d (表base.cm_account 别名 d)
-where a.ACC_id=d.CC_id(+); (2个表连接查询的条件),+ 不知道什么意思 没这样写过
意思就是 将 下面2个表连接查询的结果 填充到创建的 表名为jz_bill_id201310021 的表里面
话说 如果 是这个意图的话,上面的sql貌似有问题,我不知道是为啥,但是我这样写,能搞定你的这个目的
SELECt a.*,b.user_id,cust-id,b.OS_status,b.acc-id
INTO jz_bill_id201310021
FROM
jz_bill_id201310021 a,base.cm_account d
WHERe a.ACC_id=d.CC_id
-select (查询) () a.* (a表的所有字段),b.user_id(b表的user_id 字段),cust-id,b.OS_status,b.acc-id (都是代表要查询的字段)
-from (指定查询的表)
-jz_bill_id201310021 a, (表jz_bill_id201310021 别名 a)
-base.cm_account d (表base.cm_account 别名 d)
-where a.ACC_id=d.CC_id(+); (2个表连接查询的条件),+ 不知道什么意思 没这样写过
意思就是 将 下面2个表连接查询的结果 填充到创建的 表名为jz_bill_id201310021 的表里面
话说 如果 是这个意图的话,上面的sql貌似有问题,我不知道是为啥,但是我这样写,能搞定你的这个目的
SELECt a.*,b.user_id,cust-id,b.OS_status,b.acc-id
INTO jz_bill_id201310021
FROM
jz_bill_id201310021 a,base.cm_account d
WHERe a.ACC_id=d.CC_id
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯