`
DXL_xiaoli
  • 浏览: 69642 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

SQL查询介绍

阅读更多
SQL查询介绍
一、 SQL介绍
SQL是structured Query Language(结构化查询语言)的缩写。可以使用sql语句建立或删除数据库的对象,插入,修改和更新数据库中的数据,并且可以对数据库执行各种日常管理的操作。它是所有关系数据库管理系统的标准语言.换句话说使用sql可以对所有的关系数据库进行操作。

SQL按照功能分类:
1、 数据库定义语句
DDL(Data Definition Language):用于创建、修改、删除数据库对象。
2、 数据库操作语句
DML(Data Manipulation Language)用于:查询,添加修改或删除存在数据库对象中的数据。
3、 数据库控制语句DCL
DCL(Data Control Language)用于控制访问数据库中特定对象的用户、grant revoke
Oracle系统中经过对Sql语言扩展被称为PL/SQL语言。
注:SQL 语言大小写不敏感、 SQL 可以写在一行或者多行、关键字不能被缩写也不能分行、各子句一般要分行写、使用缩进提高语句的可读性、SQL与SQL*Plus的区别。

SQL与SQL*Plus区别:
SQL
• 一种语言
• ANSI 标准
• 关键字不能缩写
• 使用语句控制数据库中的表的定义信息和表中的数据
SQL*Plus
• 一种环境
• Oracle 的特性之一
• 关键字可以缩写
• 命令不能改变数据库中的数据的值
• 集中运行
使用SQL*Plus可以:
 描述表结构。
 编辑 SQL 语句。
 执行 SQL语句。
 将 SQL 保存在文件中并将SQL语句执行结果保存在文件中。
 在保存的文件中执行语句。
 将文本文件装入 SQL*Plus编辑窗口。

二、 基本的SQL语句查询
语法格式:SELECT *|{[DISTINCT] column|expression [alias],...}  FROM table;
SELECT   标识 选择哪些列。
FROM   标识从哪个表中选择
基本Sql查询语句大集合
//查询所有的字段信息
SQL> select * from emp;
//查询所有
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;
//查询部分字段
SQL> select empno from emp;
//采用别名查询
SQL> select empno "员工编号" from emp;
SQL> select empno as "员工编号" from emp; //采用别名查询 等效于上面的效果
//查询所有员工的入职日期并且去掉重复的日期
SQL> select distinct(hiredate) from emp;
//注意:包含空值的数学表达式求出的结果为空值
SQL> select sal+comm from emp;
//||连接符 把empno与ename作为一个字段显示
SQL> select empno||ename from emp;
SQL> select empno||ename  as "员工编号和员工姓名" from emp; //效果同上
//字符的链接
SQL> select '员工的编号是'||empno from emp;
//字段的链接包号字符连接
SQL> select '姓名为'||ename||'员工,所在的部门是:'||deptno as "新列" from emp;
//查询去掉重复行的员工部门编号
SQL> select distinct(deptno) from emp;
//查询所有员工的薪水
SQL> select '员工薪水是'||(sal+nvl(comm,0)) from emp;
三、条件查询
语法格式:SELECT *|{[DISTINCT] column|expression [alias],...}   FROM table
[WHERE condition(s)];
操作符 含义
= 等于
> 大于
>= 大于等于
< 小于
<= 小于等于
<> 不等于 等效于!=
其它操作
And 逻辑运算  逻辑与
Or  逻辑运算  逻辑或
Not 逻辑运算  逻辑否
Between 起始值 and 结束值:使用 BETWEEN 运算来显示在一个区间内的值 包含(起始结束值)
In: 使用 IN运算显示列表中的值。 In(,,,)相当于一个集合,只要出现集合中匹配的就显示
Like:
 使用 LIKE 运算选择类似的值
 选择条件可以包含字符或数字:
• % 代表零个或多个字符(任意个字符)。
• _ 代表一个字符。
Escape:
   回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE ‘\’] 即可
Null:
使用 IS (NOT) NULL 判断空值。

基本的条件语句查询大集合
//查询部门号为10的员工信息  部门为整数类型
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno=10;
//查询职位号为MANAGER的员工信息  岗位的类型为字符类型
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER';
//查询部门号为10并且员工的职位为MANAGER的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER' and deptno=10;
注意:
 字符和日期要包含在单引号中。
 字符大小写敏感,日期格式敏感。
 默认的日期格式是 DD-MON-RR。

//查询部门号大于10的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno>10;
//查询薪水大于等于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=3000;
//查询薪水不等于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal<>3000;
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal !=3000;
//查询薪水大于2000并且小于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>2000 and sal<3000;
//查询薪水大于等于2000并且小于等于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal between 1600 and 3000;
//等效于
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=1600 and sal<=3000;
//查询部门号位10,20的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno in(10,20);
//注意:相当于如下操作:
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno =10 or deptno=20;
//查询员工名称以S开头的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like 'S%';
//查询员工名称以S结尾的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%S';
//查询员工名称第三个字符为N的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '__N%';
//查询员工名称中含有N的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%N%';
//查询员工名称中倒数第二个字符为%的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%_'escape'\';
//查询员工名称总含有%的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%%'escape'\';
//查询奖金为null的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is null;
//查询奖金非null的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is not null;
以上查询语句的结果可在PL/SQL  Developer中运行得到在此没有显示出来.

附加:
SQL中的常用数据类型
数据类型:
   数据是信息数字表现形式,信息的加工处理是以大量的结构化数据为载体进行的,数据库管理系统的核心是数据库,数据库的主要对象是表,表是结构化数据存储的地方.
   Oracle系统也提供了大量的数据类型主要包括两大类:
1、 用户自定义的数据类型
2、 内置的数据类型
A、字符型
字符数据类型可以用于声明包含了多个字母数字数据的字段。
1、 固定长度的字符类型
char:用于存储固定长度的字符,一旦声明长度固定(不论你存储的实际大小,但是大小绝对不能大于声明的长度)长度不足时,采用空格补充。1B的默认大小,最大尺寸为2000B。

Nchar与char的解析是一样的不过,ncarh存储的是Unicode字符数据。

2、 可变长度的字符类型
varchar与char类似,但是它是用于存储可变的字符串,而char用于存储固定的字符串。
Nvarchar与varchar解析是一样的,不过nvarchar用于存储的数据位双字节的数据。
日期型
  date 短日期格式(1990-10-10)
  Timestamp长日期格式(1990-10-10 10:10:10)
数字型
Number(2),代表:声明一个2位数字的整数。
Number(3,2)代表:声明为3数字位,并且小数后有2位。

文本型-lob数据类型
Blob:可以存储图像,音频文件及视频等文件。
Clob:字符格式的大型对象,oracle数据unicode格式的编码
Bfile:用于存储二进制格式的文件。
--------------------------------------------------------------------------------------------------------------rowid 伪劣类型:用于在oracle内部保存表中的每条记录的物理地址。

以上只介绍了两种基本SQL语句,明天我们将继续介绍基本SQL语句,敬请期待…..
0
0
分享到:
评论

相关推荐

    Microsoft SQL Server 2008技术内幕:T-SQL查询

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    SQL 高级查询技术

    除了前一章介绍的SQL基本功能之外,SQL还可以用来完成其他一些重要且复杂的操作。 对于全世界来说,不同的地点有不同的时间,不同地点的人可能操纵相同数据库中的数据。数据库中需要存储准确的数据,这些数据离不开...

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

    本书及其续篇——《Microsoft SQL Server 2005技术内幕:T-SQL程序设计》介绍了SQL Server 2005中高级T-SQL查询、查询优化及编程相关的知识。这两本书侧重于解决实践中的常见问题,并讨论了解决这些问题的方法。它们...

    SQL查询的艺术 中文版

    《SQL查询的艺术》全面地介绍了数据库的基础知识和SQL查询的技巧,通过丰富的实例,帮助读者掌握常见的SQL应用。全书共分19章,按照数据定义、数据查询、数据操纵、数据控制、事务控制和程序化SQL的顺序,详细地讲解...

    Microsoft SQL Server 2008技术内幕:T-SQL查询

    本书全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表...

    Microsoft SQL Server2005技术内幕:T-SQL查询(中文PDF版)part1

    它详细介绍了t-sql的内部构造,包含了非常全面的编程参考。它提供了使用transact-sql(t-sql)的专家级指导,t-sql是用于sql server的最常见的也是功能最强大的编程语言。该书由itzik ben-gan权威执笔,重点关注语言...

    sql查询和排序

    内容:本章介绍SQL语句的条件查询和排序操作。 产品:Oracle 10g 技术:SQL语句、Sql*Plus 难度:★★☆☆☆

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    SQLServer的性能调优:解决查询速度慢的五种方法

    本文主要通过一下几个方面介绍:使用SQLDMV查找慢速查询、通过APM解决方案查询报告、SQLServer扩展事件、SQLAzure查询性能洞察等相关内容。本文来自博客园,由火龙果软件Anna编辑、推荐。SQLServer的一个重要功能是...

    SQL SERVER 2008技术内幕 T-SQL查询

    本书全面深入地介绍了 Microsoft SQL Server 2008 中高级 T-SQL 查询、性能优化等方面的 内容,以及 SQL Serv町 2008 新地加的一些特性 主要内容包括 SQL 的基础理论 、查询优化、查询 事法及复杂度,以及在使用子 ...

    SQL查询的艺术

     《SQL查询的艺术》全面地介绍了数据库的基础知识和SQL查询的技巧,通过丰富的实例,帮助读者掌握常见的SQL应用。全书共分19章,按照数据定义、数据查询、数据操纵、数据控制、事务控 资源太大,传百度网盘了,链接...

    Microsoft SQL SERVER 2008技术内幕 T-SQL查询

    本书全面深入地介绍了Microsoft SQL Server 2008 中高级T-SQL 查询、性能优化等方面的内容,以及SQLServer 2008 新增加的一些特性。主要内容包括SQL 的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表...

    MicrosoftSQLServer2008技术内幕:T-SQL查询

    资源名称:Microsoft SQL Server 2008技术内幕:T-SQL查询内容简介:本书全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQLServer 2008新增加的一些特性。主要内容包括SQL...

    MySQL SQL查询优化最佳实践

    详细介绍慢查询日志及示例演示,MySQL查询优化器介绍及特定SQL的查询优化等 1.获取有性能问题的SQL的三种方法 2.慢查询日志概述 3.慢查询日志实例 4.实时获取性能问题SQL 5.SQL的解析预处理及生成的执行计划 6.如何...

    Microsoft SQL SERVER 2008技术内幕 T-SQL查询 2/2

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    SQL 查询语句模板

    Sql server是功能强大的数据库,其中编程语言是其核心,本资源中主要是对其中的insert语句进行介绍,并将其转化为在delphi中的格式

    Microsoft SQL Server2005技术内幕:T-SQL查询(中文PDF版)part3

    它详细介绍了t-sql的内部构造,包含了非常全面的编程参考。它提供了使用transact-sql(t-sql)的专家级指导,t-sql是用于sql server的最常见的也是功能最强大的编程语言。该书由itzik ben-gan权威执笔,重点关注语言...

    SQL数据库 查询语句使用精华

    SQL查询语句精华使用简要 全面详细的介绍了查询语句使用技巧

    sql连接查询

    sql查询基础,连接查询介绍及实例,简洁形象的描述了连接查询的原理。

Global site tag (gtag.js) - Google Analytics