`
ding20688
  • 浏览: 63019 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
社区版块
存档分类
最新评论

Sql疑难问题

 
阅读更多
select ROW_NUMBER() OVER(ORDER BY id DESC) AS 'Row Number',emp_no,emp_name from employees


DECLARE
   v_Count INT;  
BEGIN
    SELECT COUNT(USER_ID) INTO v_Count FROM USER_INFORMATION  WHERE USER_ID=:NEW.WORK_NO;
    IF (v_Count=0) THEN 
    INSERT INTO USER_INFORMATION(USER_ID,USER_NAME,DEPT_CODE,DEPT_NAME)
    VALUES(:NEW.WORK_NO,:NEW.WORK_NAME,:NEW.DEPT_CODE,:NEW.DEPT_NAME);      
    END IF;
END;
/
插入一个表的同时,向另一个表插入记录。
2010-5-10 春 晴
NAME   TYPE    WEIGHT
1                A               50
1                 B               30
1                C               40
1                 D               60
select name,WMSYS.WM_CONCAT(type) AS ENAMES from aa group by name
运行结果:
NAME      TYPE
1                 B,C,A,D
注意:WMSYS.WM_CONCAT函数为oracle数据库特有的。

Oracle特有的运算符,decode,Rollup、Cube 运运符是 GROUP BY 子句的扩充。Rollup、Cube 运算符可以在GROUP BY的基础上再产生,行/列统计信息与全表汇总信息。
//Rollup语法
SELECT [column,] group_function(column) FROM table
[WHERE condition] [GROUP BY [Rollup] group_by_expression]
[HAVING having_expression]; [ORDER BY column];
//cube语法
SELECT [column,] group_function(column) FROM table
[WHERE condition] [GROUP BY [CUBE] group_by_expression]
[HAVING having_expression]; [ORDER BY column];


//按部门,职务求部门,岗位平均工资并计算各部门平均工资与总平均工资
select dept,job,avg(salary) from salary group by rollup(dept,job)
//按部门,职务求部门,岗位平均工资并计算各部门平均工资、岗位平均工资以及总平均工资
select dept,job,avg(salary) from salary group by cube(dept,job)
//通过对Dept字段进行 “分区汇总”得到个人信息明细与每个部门salary的汇总信息
select name,dept,salary,sum(salary) over (partition by dept) total_salary from salary
//个人salary除以部门salary的汇总得到所占比例
select name,dept,salary,sum(salary) over (partition by dept) total_salary,salary*100/sum(salary) over (partition by dept) percent from salary
//双胞胎年龄的计算
数学家X: 你有几个孩子?
数学家Y: 我有三个女儿。
数学家X: 她们有多大?
数学家Y:如果你把她们的年龄相乘,那积是36。
数学家X:这些信息还不太够。
数学家Y:如果你把她们年龄相加,你会发现年龄之和与这个
房间的人数相等。
数学家X 环顾房子一周后又说:这些信息还不够。
数学家Y: 我最大的女儿有一个木腿宠物老鼠。
数学家X:你有一对2岁的双胞胎吗?

with age_list as (
select rownum age
from all_objects
where rownum <= 36),
product_check as (
select
age1.age as youngest,
age2.age as middle,
age3.age as oldest,
age1.age + age2.age + age3.age as summed,
age1.age * age2.age * age3.age as product
from
age_list age1,
age_list age2,
age_list age3
where
age2.age>=age1.age and
age3.age>=age2.age
and age1.age * age2.age * age3.age = 36),
summed_check as (select youngest,middle,oldest,summed,product from (select youngest,middle,oldest,summed,product,
count(*) over (partition by summed) ct from product_check) where ct>1)
select * from summed_check where oldest>middle;

//查询SQL语句执行速度,适用于SQL server数据库
在各个select语句前加:
declare @d datetime
set @d=getdate()
并在select语句后加:
select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())


比如要找某个时间为每周第几天就可以
SQL> select to_char(to_date('20070101','yyyymmdd'),'d') from dual;
Oracle的SQL采用了mi代替分钟。select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
       2.另要以24小时的形式显示出来要用HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份
注意:select chr(ascii(max(version))+1) from table  改变版本号,例如A变成B
//sqlserver触发器

ALTER TRIGGER [dbo].[TrigCategoryDelete]
   ON  [dbo].[category]
   instead of delete
AS
BEGIN
declare @CaId int
select @CaId=id from deleted
delete comment where newsid in (select id from news where caid=@CaId)
delete from news where caid=@CaId
delete from category where id=@CaId  
END
分享到:
评论

相关推荐

    oracle SQL疑难解析 书中SQL

    Oracle SQL疑难解析是一本专为解决数据库操作中遇到的实际问题而编写的书籍,它涵盖了大量SQL查询、数据处理和性能优化的实用技巧。在"oracle-sql-recipes-master"这个压缩包中,很可能是包含了书中的示例代码和练习...

    OracleSQL疑难解析

    资源名称:Oracle SQL疑难解析内容简介:《Oracle SQL疑难解析》总结了针对Oracle数据库编写SQL时经常碰到的各种问题,提供大量现成的解决方法,包括汇总和聚合数据、多表数据查询、生成和获取数据、通用查询模式、...

    ORACLE SQL疑难解析ORACLE SQL RRECIPES A PROBLEM PDF电子书下载 带书签目录 sample

    ORACLE SQL疑难解析 ORACLE SQL RRECIPES A PROBLEM PDF电子书下载 带书签目录 sample,这是书的前半部分样张,仅供大家预览,如有需要,请购买正版。

    Oracle sql 疑难解析

    想要学习Oracle 开发方向的童鞋 还是可以关注下这本书的。

    SQL疑难解决,问题提高SQL学习使用的效率

    本文将深入探讨SQL的问题解决技巧,提高学习和使用效率。 首先,我们需要理解为什么需要数据库。传统的数据存储方式,如大脑记忆、纸质记录或计算机内存,存在诸多不便,如遗忘、难以保存和查找、易丢失等问题。而...

    解决使用oracle疑难问题

    在使用 Oracle 数据库系统时,可能会遇到一些疑难问题,本文将从解决使用 Oracle SQL*PLUS 时没有监听器的问题开始,介绍一些相关的知识点。 标题:解决使用 Oracle 疑难问题 描述:解决使用 Oracle 中所遇到的...

    SQL server 安装疑难问题

    SQL Server 安装程序无法获取 ASPNET 帐户的系统帐户信息.txt SQL_server2005安装图解.doc SQLServer2005找不到SqlServer Management Studio.doc 参考~~~

    sqlServer 各种疑难杂症和学习资料.rar

    这份"sqlServer 各种疑难杂症和学习资料.rar"压缩包显然包含了一系列与SQL Server相关的学习资源,包括经典案例和学习指导,对于初学者或经验丰富的DBA来说都是宝贵的参考资料。 在SQL Server的学习过程中,有几个...

    数据库疑难问题解决方法

    ### 数据库疑难问题解决方法 #### 一、ORACLE客户端异常,无法连接服务器 **问题描述**:在尝试连接数据库时遇到错误提示,通常是因为数据库版本不一致所致。经过检查,发现服务器的安全日志中并无相关错误记录或...

    SQLServer2008安装图解和疑难解答

    资源名称:SQL Server2008安装图解和疑难解答资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    我工作中总结的sqlserver2000所有语法、函数和疑难问题

    本文将深入探讨SQL Server 2000的语法、函数以及解决常见疑难问题的方法,帮助你更好地理解和应用这个系统。 一、SQL Server 2000语法 1. 数据库操作:包括CREATE DATABASE用于创建数据库,ALTER DATABASE用于修改...

    数据库疑难问题pdf集合.rar

    本资源"数据库疑难问题pdf集合"针对的是MySQL数据库系统,包含了关于触发器、存储过程、索引、索引类型以及视图等关键概念的解答。这些知识点是数据库管理、开发与优化的核心。 首先,我们来详细探讨触发器...

    sql server 帮助文档官方版

    SQL Server 提供了多种疑难解答工具,包括 Kubernetes 疑难解答、Spark 疑难解答、Active Directory 疑难解答等。用户可以使用这些工具来解决常见的问题。 其他 SQL Server 还提供了多种其他功能,包括数据类型...

    《SQL HACKS》

    ● 解决使用SQL的一些疑难问题。 ● 在字符串、日期等数据上执行复杂的查询与排序。 ● 设置你的事务,这样用户之间就不会发生冲突。 ● 管理用户,审计他们对数据库所做的修改。 ● 优化SQL操作,使CPU和网络的负载...

    SQL初学者疑难-个人总结-还在继续增加中让我们共同来记录

    对于SQL初学者来说,理解数据库的基本概念和SQL Server 2005中的一些常见问题至关重要。 首先,我们来探讨为什么需要数据库。传统的数据存储方式,如大脑记忆、纸张记录或计算机内存,存在诸如遗忘、保存困难、查找...

    SQL解惑 第二版(中文)pdf带目录

    《SQL解惑 第二版(中文)》是一本专门针对SQL语言疑难点进行解析的书籍,旨在帮助读者在实践中理解和掌握SQL的各种特性和技巧。这本书以其独特的案例解析方式,为学习SQL的人提供了一种生动、易懂的学习路径,避免...

    Oracle数据库精讲与疑难解析.part3(共3部分)

    Oracle数据库精讲与疑难解析.part3

Global site tag (gtag.js) - Google Analytics