社区
Oracle
帖子详情
sql语句能否实现除了一个字段外全选?
buyong
2011-08-05 10:27:37
我有一个表TABLE中有几十个字段。(比如,A,B,C...Z)
我的需求是出了A字段不选以外,选出其他字段。
全选的sql语句是: select * from TABLE
我想要的是:select B,C,D,....,Z from TABLE
但是字段太多了,这样的语句太长,也不容易维护。有没有其他写法。
比如 select * except A from TABLE ?? 类似的?
...全文
1004
11
打赏
收藏
sql语句能否实现除了一个字段外全选?
我有一个表TABLE中有几十个字段。(比如,A,B,C...Z) 我的需求是出了A字段不选以外,选出其他字段。 全选的sql语句是: select * from TABLE 我想要的是:select B,C,D,....,Z from TABLE 但是字段太多了,这样的语句太长,也不容易维护。有没有其他写法。 比如 select * except A from TABLE ?? 类似的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ssqtjffcu
2011-08-05
打赏
举报
回复
字段多的话,可以用数据字典来拼语句
d604060189
2011-08-05
打赏
举报
回复
谁会天天变表结构呢
[Quote=引用 3 楼 buyong 的回复:]
几十个字段全写上,表结构变化时全修改,这号维护??
引用 2 楼 horizonlyhw 的回复:
全写上 才是好维护的 ·
[/Quote]
pengzhuo1
2011-08-05
打赏
举报
回复
在这个基础表上建一个视图,这个视图没有A字段,这样基本表变了也好维护
huangdh12
2011-08-05
打赏
举报
回复
全写上吧。 那样你以后增加字段就不用修改所有的语句了。 否则 ,很可能就会抛出错误。
buyong
2011-08-05
打赏
举报
回复
一次麻烦到不怕,就是我们这的表结构是用户负责的,除了一些字段外,其他字段用户都有权变更。所以。。。如果必须写全部字段,真是有点悲剧。
[Quote=引用 4 楼 hanzs 的回复:]
肯定没有这种写法
不要怕麻烦,有多少就写多少呗
[/Quote]
buyong
2011-08-05
打赏
举报
回复
我其实是需要指定A字段的值,不是用数据库里的值。
我原先写的是:select t.*, 'a' A from TABLE t
这样执行后我发现输出结果中有两个A列,一个是‘a’,一个是数据库表里的值。我不想输出数据库表里的值,怎么办?
[Quote=引用 1 楼 yyyy_mm_dd 的回复:]
好像没有!
就用select * from table吧,然后往前台传送的时候,不传A这个字段就行了呗!
[/Quote]
hanzs
2011-08-05
打赏
举报
回复
肯定没有这种写法
不要怕麻烦,有多少就写多少呗
buyong
2011-08-05
打赏
举报
回复
几十个字段全写上,表结构变化时全修改,这号维护??
[Quote=引用 2 楼 horizonlyhw 的回复:]
全写上 才是好维护的 ·
[/Quote]
horizonlyhw
2011-08-05
打赏
举报
回复
全写上 才是好维护的 ·
放纵青春
2011-08-05
打赏
举报
回复
好像没有!
就用select * from table吧,然后往前台传送的时候,不传A这个字段就行了呗!
Kobayashi
2011-08-05
打赏
举报
回复
这个问题你可以向Oracle公司申请。让他们把这个功能加起来。。
sql生成器--修正版
sql生成器的功能就是自动生成插入、查询和更新的
sql语句
,语句
字段
必须包含注释。 修正
字段
排序、update多set、select首行没有“,”、select语句没有
全选
的时候最后
一个
字段
含有“,”
office与
SQL语句
学习.doc
office与
SQL语句
学习.doc
数据透视表
SQL语句
入门
MS Query基础语法讲解: 一、单表查询 单表查询是指仅涉及
一个
表的查询 1、查询指定列 例1、查询材料进货明细表中的定额名称及规格 SELECT 定额名称,规格 FROM [材料进货明细表$] 注意:在excel中,
一个
工作表的表示是这样的:[工作表名称$] select的意思是:查询 上面那一句
SQL语句
的意思就是:从表材料进货明细表中取出定额名称及规格的值 例2、查询材料进货明细表的详细记录 SELECT * FROM [材料进货明细表$] 等价于: SELECT 序号, 定额名称,规格,日期,单位,数量 FROM [材料进货明细表$] 注意:*的用法 2、查询经过计算的值 例3、查询材料进货明细表的定额名称、规格、年份及数量 SELECT 定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] 注意:里面的年份已经通过了计算的了,成为
一个
新的变量。 加多一列自定义的列A厂: SELECT “A厂” ,定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] SELECT “A厂” as 工厂 ,定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] 比较一下上面两句
SQL语句
的区别,没有as 工厂与有as 工厂的区别 二、选择表中若干元组 1、消除取重复的行 例4、查询材料进货明细表的定额名称 SELECT 定额名称 FROM [材料进货明细表$] 该查询结果会包含很多重复的行。消除重复行的话,必须指定关键词 distinct SELECT distinct 定额名称 FROM [材料进货明细表$] 2、查询满足条件的元组 例5、查询材料进货明细表中单位为“套”的所有记录 SELECT * FROM [材料进货明细表$] where 单位= ‘套’ 本句语句中,要学会where的用法: 要查询满足指定条件的元组,可以通过where子句
实现
。where子句查询条件是: 比较: =,>,<,>=,<=,!=,<>,!>,!<;not +上述比较运算符 确定范围: between and ,not between and 确定集合:in,not in 字符匹配:like,not like 空值:is null,is not null 多重条件:and,or,not 例6、查询材料进货明细表中数量在50—100之间的所有记录 SELECT * FROM [材料进货明细表$] where 数量 between 50 and 100 如果是不在50-100之间的话,直接改成: SELECT * FROM [材料进货明细表$] where 数量 not between 50 and 100 例7、查询材料进货明细表中单位为“只”或“支”的所有记录 SELECT * FROM [材料进货明细表$] where 单位 in(‘只’,'支’) 3、字符匹配 可以用like来
实现
,通配符%和_ a、%代表任意长度的字符串,如a%b表示以a开头,以b结尾的任意的字符串 b、_代表任意单个字符 例8、查询材料进货明细表中定额名称以“天津”开头的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 like ‘天津%’ 例9、查询材料进货明细表中定额名称以“天津”开头且字符为4个的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 like ‘天津__’ 例10、查询材料进货明细表中定额名称不以“天津”开头的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 not like ‘天津%’ 4、涉及空值的查询 主要是以:null出现 例11、查询材料进货明细表中规格为空的的所有记录 SELECT * FROM [材料进货明细表$] where 规格 is null 5、多条件查询 例12、查询材料进货明细表中定额名称为“天津三通”的并且数量大于30的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 = ‘天津三通’ and 数量>30 三、order by 子句 desc(降序)、asc(升序) 例13、查询材料进货明细表中数量大于30的所有记录,并且要按照数量来降序排列。 SELECT * FROM [材料进货明细表$] where 数量>30 order by 数量 desc 四、聚集函数 count(distinct/all 列名):统计元组个数 sum:求和 avg:求平均值 max:最大值 min:最小值 例14、查询材料进货明细表中天津大小头的最大数量。 SELECT max(数量) FROM [材料进货明细表$] where 定额名称 = ‘天津大小头’ 或:SELECT max(数量) as 最大数量 FROM [材料进货明细表$] where 定额名称 = ‘天津大小头’ 2. Excel源数据及分析下载:Excel数据透视表教程:分类百分比
SQL语句
: select *, Hz1.分类销量/Hz2.分类销量 as 分类百分比 from (select 品种,分公司, sum(数量) as 分类销量 from [数据$] group by 品种,分公司) Hz1, (select 分公司, sum(数量) as 分类销量 from [数据$] group by 分公司) Hz2 where hz1.分公司=Hz2.分公司
SQL语句
解释: select 品种,分公司, sum(数量) as 分类销量 from [数据$] group by 品种,分公司
实现
对品种、分公司两
字段
分组的统计求和 select 分公司, sum(数量) as 分类销量 from [数据$] group by 分公司
实现
对分公司
字段
分组的统计求和 对分公司分组统计求和数是对品种、分公司两
字段
分组统计求和项目再对不同品种的总就和,也就是后者包含前者。 整句语句的意思就是,将两个查询结果作为新的查询表分别命名为Hz1、Hz2,用 ”where hz1.分公司=Hz2.分公司“来组合数据, 没有条件的制约的话,将统计的结果再进行除数运算, 各品种的分组统计数(分组含品种
字段
)除以各品种已求和了的分组统计数(分组不含品种
字段
)求得所占比率, 最后在
字段
单元格设置为百分数就可以了。 3 在Excel中使用MS Query查询
外
部数据库的内容的优点是:不用设置公式、编写VBA代码、源数据库不用打开。 但要注意:源数据库的记录要有
字段
名,由于设置查询时的路径固定,。 因此源数据库文件不能随意移动(如确实要移动可以通过手工修改查询或VBA解决) 以下示例采用MS Query在“查询”工作簿中查询关闭的“销售”工作簿中sheet1的指定 “店铺”和指定“颜色”的内容(sheet1有“店铺”、“数量”、“颜色”等
字段
名及若干数据)。 操作前请先确定是否安装有MS Query。附上举例文件,请解压到D盘根目录下: 销售.xls为源数据,查询.xls中设置了msquery查询。 下载:MS Query查询未打开工作簿的内容例子 1、 新建
一个
工作表,选择菜单【数据】—【导入
外
部数据】—【新建数据库查询】, 界面如图,由于查询excel数据库的内容,因此选择【Excel Files*】并确定; 2、 弹出〖选择工作簿〗对话框,选择“销售”工作簿,〖确定〗; 3、 弹出〖选择列〗对话框,如果此时弹出“没用内容”,确定后在〖选项〗中将“系统表”勾上。 将所选工作簿的各个工作表及工作表中的
字段
名添加到查询结果中,
全选
可直接将工作表名添加, 〖下一步〗〖下一步〗,选择“在MS query中继续编辑查询”; 4、 弹出MS Query查询编辑,点击【显示/隐藏条件】图标,在“条件
字段
”中添加“店铺”, 值改为“[店]”(方括号中内容随意),再添加个条件为“颜色”,值改为“[色]”,点击【将数据返回Excel】 5、 回到excel的“导入数据”对话框,点击〖参数〗,选中“店”
字段
,再选择“从下列单元格中获取数据”, 选择
一个
用来更改查询关键字的单元格(如B1),并勾选“单元格值更改时自动刷新”, “色”
字段
改成从单元格“B2”中获取,〖确定〗。数据放置位置选择“A3”。〖确定〗。 6、 当更改B1和B2单元格的内容(做个数据有效性)时,A3及以下的数据会即时刷新。 此法对于需要经常在局域网中查询数据非常方便,比如:数据放在局域网内的一台主机上,通过MS Query即可不打开工作簿查询数据。
数据库 SQL查询语句
SQL查询语句精华 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname
字段
和email
字段
。 SELECT nickname,email FROM testtable WHERE name='张三'
checkbox
全选
反选与批量删除附源码
通过checkbox,用javascript
实现
全选
与反选,通过servlet对数据库进行批量的删除
Oracle
17,140
社区成员
55,259
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章