`

SQL介绍及查询

阅读更多
1. SQL语句

是一种语言

符合ANSI 标准

关键字不能缩写

使用语句控制数据库中的表的定义信息和表中的数据

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

2. SQL*Plus命令

是一种环境

Oracle 的特性之一

关键字可以缩写

命令不能改变数据库中的数据的值

集中运行

3.使用SQL*Plus可以:

  描述表结构。

  编辑 SQL 语句。

  执行 SQL语句。

  将 SQL 保存在文件中并将SQL语句执行结果保存在文件中。

  在保存的文件中执行语句。

  将文本文件装入 SQL*Plus编辑窗口。

4.SQL查询

1.数据类型: 数据是信息数字表现形式,信息的加工处理是以大量的结构化数据为载体进行的,数据库管理系统的核心是数据库,数据库的主要对象是表,表是结构化数据存储的地方.

  Oracle系统也提供了大量的数据类型主要包括两大类:

1、 用户自定义的数据类型

2、 内置的数据类型

   字符型:字符数据类型可以用于声明包含了多个字母数字数据的字段。

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内部保存表中的每条记录的物理地址。

2.SQL按照功能分类:

数据库定义语句:

DDL(Data Definition Language):用于创建、修改、删除数据库对象。

数据库操作语

DML(Data Manipulation Language)用于:查询,添加修改或删除存在数据库对象中的数据。

数据库控制语句DCL

DCL(Data Control Language)用于控制访问数据库中特定对象的用户、grant revoke

Oracle系统中经过对Sql语言扩展被称为PL/SQL语言。

基本的sql语句

SELECT  *|{[DISTINCT] column|expression [alias],...}

FROM table;



3.Condition(s)要使用到比较运算符常用的比较运算符如下:

操作符
含义

=
等于

>
大于

>=
大于等于

<
小于

<=
小于等于

<>
不等于 等效于!=

其它操作

And 逻辑运算  逻辑与

Or  逻辑运算  逻辑或

Not 逻辑运算  逻辑否

Between 起始值 and 结束值:使用 BETWEEN 运算来显示在一个区间内的值包含(起始结束值)

In:使用 IN运算显示列表中的值。

In(,,,)相当于一个集合,只要出现集合中匹配的就显示

Like:使用 LIKE 运算选择类似的值

 选择条件可以包含字符或数字:

% 代表零个或多个字符(任意个字符)。

_ 代表一个字符。



Escape:

回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE ‘\’] 即可

Null:

使用 IS (NOT) NULL 判断空值。





4.运算符优先级表格:

优先级
 

1
算术运算

2
连接符

3
比较符

4
Is not null like not in

5
Not between

6
not

7
and

8
Or

备注:可以采用括号改变优先级
 





5.查询语句(基本查询,别名查询):

1、表查询某个表中的所有数据.

SQL> select * from emp;



查询某个表中的特殊的列

SQL> select hiredate from emp;

HIREDATE

-----------

1980-12-17

1981-2-20

1981-2-22

1981-4-2

2、 采用别名查询

SQL> select hiredate as 日期 from emp;

日期

-----------

1980-12-17

1981-2-20

1981-2-22

1981-4-2

备注:as也可以省略

SQL>select e.hiredate from emp  e; //表的别名

HIREDATE

-----------

1980-12-17

1981-2-20

1981-2-22

1981-4-2



6.条件查询

案例:查询部门号为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;



7.SQL插入语句:

1. 向表中插入一条新的(全字段)记录

SQL> insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(1111,'test','test','7369',to_date('1992-12-12','yyyy-mm-dd'),100,100,20);

或者写成

SQL> insert into emp values(2222,'test','test','7369',to_date('1992-12-12','yyyy-mm-dd'),100,100,20);

2.都过查询即可看到结果

SQL> select * from emp;

3.向表中插入一条新的(部分字段)记录

SQL>  insert into emp(empno,ename,hiredate,deptno)values(3333,'test',to_date('1992-12-12','yyyy-mm-dd'),30);



注意:在插入操作的时候如果有关联,一定要插入相应关联的字段的值.

备注:插入之后都需要手动的提交 commit;



SQL> commit;

Commit complete



8.Order by 子句

使用 ORDER BY 子句排序 ,ORDER BY 子句在SELECT语句的结尾。默认的是升

序(asc)查询

ASC(ascend): 升序

DESC(descend): 降序

案例:查询员工信息按照部门的编号进行升序排列   默认的是 asc

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by deptno;

案例:查询员工信息按照部门的编号进行降序排列   使用desc

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by deptno desc;

案例:查询部门为20的员工信息并按照员工的编号进行升序排列

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp  where deptno=20 order by empno asc;

备注:可以与条件语句结合使用但order by子句放在最后

案例:查询员工信息并按照员工的部门编号升序并且编号进行降序排列

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp  order by deptno asc,empno desc;

备注:理解思路:首先查询员工信息按照部门的编号进行升序,然后每个部门中的员工按照员工的编号进行降序排列

分享到:
评论

相关推荐

    sqlserver如何快速查询死锁语句

    本文将详细介绍如何在SQL Server中快速查询并解决死锁问题。 首先,我们要检查是否有未提交的事务。未提交的事务可能会导致阻塞其他事务,进一步引发死锁。以下是一段SQL查询语句,用于找出所有未提交事务的详细...

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

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

    java执行SQL语句实现查询的通用方法详解

    本文主要介绍了java执行SQL语句实现查询的通用方法详解,具有一定借鉴价值,需要的朋友可以参考下。 一、Java执行SQL语句实现查询的通用方法详解 在Java中执行SQL语句实现查询是非常常见的操作,以下是Java执行SQL...

    SuperMap iclient for ios实现sql查询及结果展示

    以上就是使用SuperMap iClient for iOS实现SQL查询及结果展示的基本流程。实际开发中,可能需要结合具体需求进行优化和调整,确保查询性能和用户体验。通过熟练掌握这些知识点,你将能够构建出功能强大、交互友好的...

    sqlserver查询分析器 win10可用

    下面将详细介绍SQL Server查询分析器在Win10上的使用及相关知识点。 1. **SQL Server Management Studio (SSMS)**:这是微软官方提供的SQL Server查询分析器,适用于Win10。SSMS提供了一个集成环境,用于管理和开发...

    SQL按字母查询

    通过以上介绍可以看出,SQL按字母查询是一种非常实用且高效的查询方法。它不仅可以帮助我们快速定位到特定范围内的记录,还能够灵活应对各种特殊需求。在实际应用过程中,合理运用这些技巧将极大地提高工作效率和...

    Microsoft SQL Server 2008技术内幕:T-SQL查询_源代码及附录.zip

    这本书的源代码及附录内容提供了丰富的实例和详尽的解释,帮助读者深化对T-SQL的理解和应用。 1. **T-SQL查询基础**: T-SQL查询涉及SELECT语句,它允许从一个或多个表中提取所需的数据。基础语法包括指定字段、...

    1. 熟悉数据库的交互式SQL工具:如SQL Server2000查询分析器。

    本文将介绍数据库交互式SQL工具的应用和实践,以SQL Server 2000查询分析器为例,详细阐述了使用交互式SQL工具进行数据库操作的步骤和技术要点。 一、数据库交互式SQL工具的概述 数据库交互式SQL工具是数据库管理...

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

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

    SQL 跨服务器查询

    在SQL Server中,有多种方法可以实现跨服务器查询,这里主要介绍两种常用的方法:使用`OPENDATASOURCE`和通过创建`linked server`。 1. 使用 `OPENDATASOURCE` 进行跨服务器查询: `OPENDATASOURCE` 是 Transact-...

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

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

    SQLServer查询耗费大量资源的语句.txt

    ### SQL Server 查询优化:识别与分析...综上所述,通过对SQL Server中的资源消耗查询进行查找、统计及优化,可以有效地提升数据库系统的性能,确保其稳定运行。这对于任何依赖于SQL Server的企业而言都是至关重要的。

    SQL查询语句大全SQL查询语

    本资源“SQL查询语句大全”显然是一份全面介绍SQL查询的资料,涵盖了各种基本和高级查询技巧。下面我们将深入探讨SQL查询的一些核心知识点。 1. **SQL基础** - **SELECT语句**:这是SQL中最常用的语句,用于从...

    SQL简易查询工具

    "SQL简易查询工具"是一款专为SQL Server、MySQL和Oracle数据库设计的轻量级查询软件。这款工具旨在简化数据库管理,使用户能够快速、高效地执行SQL查询,从而提高工作效率。下面将详细介绍这款工具及其核心功能。 ...

    sql server 2005 技术内幕t-sql查询源码

    《SQL Server 2005 技术内幕:T-SQL查询源码》是一本深入探讨SQL Server 2005中T-SQL查询技术的专业书籍。T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中使用的SQL扩展版本,它在标准SQL的基础上增加...

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

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》是一本深入探讨SQL Server 2008中T-SQL(Transact-SQL)查询的权威指南。T-SQL是微软SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及...

    SQL语句,查询当月,当年数据

    ### SQL语句:查询当月、当年数据及本周数据 #### 概述 在数据库管理与数据分析领域,针对特定时间段内的数据查询是非常常见的需求之一。本文将详细介绍如何使用SQL语句来查询当前月份、当年以及本周的数据。这些...

    关于SQL Server SQL语句查询分页数据的解决方案

    针对这一需求,本文将详细介绍如何在SQL Server中实现有效的分页查询。 ### 方法1:使用NOT IN 这种方法通过先选择前300100条记录的序列号(这里假设`fldserialNo`是唯一标识每一行的字段),然后在外层查询中排除...

    sql查询的艺术

    《SQL查询的艺术》这本书聚焦于介绍SQL语言的基础知识和查询技巧。SQL,全称是Structured Query Language,即结构化查询语言,是用于管理关系型数据库管理系统(RDBMS)的标准编程语言。它允许用户和程序对数据库中...

    SQLServer查询语法:

    本文将对 SQL Server 查询语法进行详细的介绍,从基础查询语法到高级查询语法,涵盖了查询限制行、字符串函数、日期函数、排序等多方面的内容。 基础查询语法 基础查询语法是 SQL Server 查询语法的基础,包括 ...

Global site tag (gtag.js) - Google Analytics