`
lovnet
  • 浏览: 6704807 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

SQL_DML语句基础知识(一)

 
阅读更多

1.去除重复的行:

SELECT DISTINCT ename FROM emp;

2.连接表达式

SELECT ename||'的部门号是'||deptno FROM emp;

3.处理NULL

SELECT NVL(ename,'noname') FROM emp; --如果某行ename为空则显示noname,不为空则显示ename的值.

4.日期类型显示格式

如果表arwen中列birthday为date类型

SELECT TO_CHAR(birthday,'YYYY-MM-DD') FROM arwen

5.WHERE 子句中的BETWEEN ..AND

相当于大于等于且小于等于

6.LIKE模糊查询.%表示0到多个字符_表示单个字符

7.转义字符:

如果表中有%,_这样的符号需要用到转义字符\

假如表arwen中的ename是a%name.查找

SELECT * FROM arwen WHERE ename LIKE 'a\%name';

也可以这样写SELECT * FROM arwen WHERE ename LIKE 'as%name' ESCAPE 's'; --s可以替换成其他任何字符

8.多列排序:

排序中NULL被当作最大值处理

SELECT ename,deptno,sal FROM emp

ORDER BY ename ASC,sal DESC; --ASC表示升序,默认都是按升序.DESC降序.此处表示先用名字排序.名字相同再用sal排序.

特殊情况:如果用UNION连接两个表,排序时不能指定列.只能用数字

SEELCT deptno,dname FROM dept

UNION

SELECT empno,ename FROM emp

ORDER BY 1; --表示参照第一列来排序,如果写成2就是用第二列

9.分组函数

SELECT AVG(empno),SUM(empno),MAX(empno),MIN(empno),COUNT(empno) FROM emp;

--其中的分组函数分别表示平均值,总和,最大值,最小值,总行数

分组函数中NULL被忽略掉不在计算范围之类.所以如果empno为空则计算的不是整个表的总行数.而COUNT(*)总是表的总行数.

10.GROUP BY用法

上面的分组函数是应用于整个表,假如我们只计划表中某个部门的平均值等等.

SELECT deptno,AVG(sal) FROM emp

GROUP BY deptno;

如果想在大组中再分成小组计算.例如每个部门分组,再每个职位分组.

SELECT deptno,job,AVG(sal) avg_sal,FROM emp

GROUP BY ROLLUP(deptno,job);

DEPTNO JOB AGV_SAL

-------------------------------------------------------------------

10 CLERK 4500

10MANAGER8500

10 6500

20CLERK5000

20 MANAGER 9000

20 7000

6750

其中6500是部门10的平均工资,7000是部门20的平均工资.6750是两个部门的平均工资.

注意如果查询语句去年ROLLUP则加颜色的数字就不会出现.

SELECT deptno,job,AVG(sal) avg_sal,FROM emp

GROUP BY CUBE(deptno,job);

DEPTNO JOB AGV_SAL

-------------------------------------------------------------------

10 CLERK 4500

10 MANAGER 8500

10 6500

20 CLERK 5000

20 MANAGER 9000

20 7000

6750

CLERK 4750

MANAGER 8750

如果只显示平均工资大于5000的职位:

SELECT deptno, job,AVG(sal) avg_sal FROM emp

GROUP BY deptno,job

HAVING AVG(sal) >5000;

注意:如果HAVING改成WHERE会出错.WHERE子句中不能有分组函数

分享到:
评论

相关推荐

    2024年SQL基础语句,看这里!一天搞定90%常用语句

    它为读者提供了一个实用的指南,帮助他们掌握SQL的基础知识和实战技巧。 使用场景及目标: 本篇文章适用于求职者准备涉及SQL的面试场景。它的目标是帮助求职者理解并掌握这些概念,从而在面试中更好地展示自己的技术...

    GBase 8a SQL参考手册

    第二章详细介绍了 SQL 语言基础知识,包括数值,数据库、表、列和别名, 如何设置和使用用户变量、系统变量和注释语法。 第三章详细介绍 GBase 8a 支持的操作符和函数,包括操作符、控制流函数、 字符串函数、数值...

    oracle数据库基础知识

    这是我学习过程中整理的oracle数据库基础知识,里面包含了DML、DDL等相关语句。还解释了什么情况下该用什么样的SQL。包含了很多基础知识。欢迎大家收藏。

    PL/SQL Developer8.04官网程序_keygen_汉化

    编程基础知识  1. 程序结构 PL/SQL程序都是以块(block)为基本单位,整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头)和异常处理部分(以exception开头)。其中执行部分是必须的,...

    SQL Server2005基础教程

    本书重点阐述了SQL Server 2005的基础知识,前半部分以建立一个金融数据库系统为主线,从最基础的收集信息入手,一步步地引导读者学会如何保证数据库的安全,创建表、主键、索引等项目,在表之间建立恰当的关系,并...

    精通SQL--结构化查询语言详解

    3.1 表的基础知识 37 3.1.1 表的基本结构 37 3.1.2 表的种类 38 3.2 sql数据类型 39 3.2.1 字符型数据 39 3.2.2 数字型数据 40 3.2.3 日期数据类型 41 3.2.4 二进制数据类型 43 3.2.5 文本和图形数据类型 44...

    2024年SQL语句常考面试题(干货满满).zip

    本文为你提供了2024年最全面的SQL面试题集锦,覆盖了从基础到高级的各类SQL知识点。内容涉及SQL的定义、数据库类型、SQL语言的不同分类(DDL、DML、DCL)、连接类型(内连接、左连接等)、索引的作用和原理、事务的...

    精通SQL 结构化查询语言详解

    3.1 表的基础知识  3.1.1 表的基本结构  3.1.2 表的种类  3.2 SQL数据类型  3.2.1 字符型数据 3.2.2 数字型数据  3.2.3 日期数据类型 3.2.4 二进制数据类型 3.2.5 文本和图形数据类型  3.2.6 自定义...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

     Oracle 数据库中的SQL是当今市场上功能最强大的SQL实现之一,而本书全面展示了这一工具的威力。如何才能让更多人有效地学习和掌握SQL呢?Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习...

    oracle管理应用工具和sql高级应用视频教程详细完整版

    第三章:SQL基础知识 第四章:使用SELECT语句 第五章:数据的限定与排序 第六章:多表连接技术 第二部分:ORACLE SQL高级应用 第一章:使用子查询 第二章:用户访问控制 第三章:Oracle的事务和锁 第四章:使用索引 ...

    从零开始学Oracle

    作者以实际工作为切入点,详细介绍了Oracle数据库的基础知识及PL/SQL程序设计实战的知识。本书共分为17章,主要介绍了数据库的入门知识、安装Oracle以及使用Oracle的客户端工具管理Oracle,Oracle数据库表、索引、...

    SQL编程实用大全(精华版).part1

    本书与众多的介绍某种软件的使用与操作方法的书籍不同,以SQL-89和SQL-92两种规范为基础,着重介绍SQL数据库各种产品的共同的基础知识和编程方法,在涉及具体软件时,重点介绍了MS-SQLServer的实现方式,但同时比较...

    SQL Server 数据库基础知识点整理

    SQL语句相关 DDL:数据定义语言(物理级别->在硬盘上创建或者删除) 创建数据库:CREATE database 名称 删除数据库:DROP database 名称 定位到数据库:USE 名称 设置自增:identity(起始值,自增值), 非空约束:not ...

    SQLServer2008查询性能优化 2/2

    10.4.1 不要交替使用DDL和DML语句 270 10.4.2 避免统计变化引起的重编译 271 10.4.3 使用表变量 273 10.4.4 避免在存储过程中修改SET选项 275 10.4.5 使用OPTIMIZE FOR查询提示 276 10.4.6 使用计划指南 277 ...

    SQLServer2008查询性能优化 1/2

    10.4.1 不要交替使用DDL和DML语句 270 10.4.2 避免统计变化引起的重编译 271 10.4.3 使用表变量 273 10.4.4 避免在存储过程中修改SET选项 275 10.4.5 使用OPTIMIZE FOR查询提示 276 10.4.6 使用计划指南 277 ...

    PLSQLDeveloper下载

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    数据库应用技术之实验4-SQL数据查询

    适合人群:具备一定数据库知识基础的新手小白 能学到什么:本次实验了解DML语言的SELECT语句对数据的查询,学会用DML语言对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。 阅读建议:1.“Sno,Cno”间逗号...

    数据库应用技术之SQL语言的数据定义(DDL)

    适合人群:具备一定数据库知识基础的新手小白 能学到什么:①掌握利用 SQL 查询分析器进行数据库及基本表的定义、删除与修改②掌握索引的建立与删除的方法③完成后续实验的准备(数据库的创建及数据准备)。 阅读...

    SQL编程实用大全(精华版).part3

    本书与众多的介绍某种软件的使用与操作方法的书籍不同,以SQL-89和SQL-92两种规范为基础,着重介绍SQL数据库各种产品的共同的基础知识和编程方法,在涉及具体软件时,重点介绍了MS-SQLServer的实现方式,但同时比较...

Global site tag (gtag.js) - Google Analytics