您的位置:首页 > 数据库

sql (一) : sql简介,及简单查询语句

2014-04-20 09:51 197 查看
一、sql简介

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈɛs kjuː ˈɛl/ "S-Q-L"),结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

结构化查询语言包含以下几个部分:

(1) . 数据查询语言(DQL:Data Query Language):

其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和H***ING。这些DQL保留字常与其他类型的SQL语句一起使用。

(2) .数据操作语言(DML:Data Manipulation Language):

其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

(3) 事务处理语言(TPL):

它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

(4) 数据控制语言(DCL):

它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

(5) 数据定义语言(DDL):

其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

二、sql的练习要使用的表

以下sql练习是基于以下几张表的,遂将表展示如下:

雇员表(EMP)

NO.字段类型描述
1EMPNONUMBER(4)雇员编号,为唯一编号
2ENAMEVARCHAR(10)雇员的姓名
3JOBVARCHAR(9)表示工作的职位
4MGRNUMBER(4)表示雇员的领导编号
5HIRDATEDATE表示雇佣日期
6SALNUMBER(7,2)表示月薪
7COMMNUMBER(7,2)表示奖金
8DEPTNONUMBER(2)部门编号
部门表(dept)

NO.字段类型描述
1DEPTNONUMBER(2)部门编号
2DNAMEVARCHAR(14)部门名称
3LOCVARCHAR(13)部门位置
工资等级(salGrade)

NO.字段类型描述
1GRADENUMBER等级名称
2LOSALNUMBER最低工资
3HISALNUMBER最高工资
奖金表(BONUS)

NO字段类型描述
1ENAMEVARCHAR(10)雇员姓名
2JOBVARCHAR(9)工资名称
3SALNUMBER雇员工资
4COMMNUMBER雇员奖金
三、简单查询语句
简单查询语句的格式是:

select * | 具体的列 别名  
from 表名称
1. 查询emp表中所有的列

select * from emp

2. 如果只需要查询出emp表中雇员的编号、姓名、工作的话

select empno, ename, job from emp

3. 对查询结果中的列起别名

select empno 编号, ename 姓名, job 工作 from emp

4. 使用DISTINCT去掉查询结果中的重复列

select {DISTINCT} * | 具体的列 别名 form 表名称

但是,在消除重复列的时候,有一点必须说明,如果要同时查询多列,则必须保证所有的列都重复才能消除掉

5.格式化的显示查询结果

例如:要求查询出雇员的编号,姓名,工作,但是显示的格式

编号是:7369的雇员,姓名是:SMITH,工作是:CLERK

要想实现这样的功能,则可以使用ORACLE中提供的字符串连接操作,使用"||"表示。如果要加入一些显示信息的话,其他固定的信息要使用"'"括起来。



select '编号是:' || empno || '的雇员,姓名是:' || ename || ',工作是:' || job from emp
显示结果为:







6. 在查询中也可以使用四则运算,例如:要求求出每个雇员的姓名及年薪

select ename,sal * 12 income from emp
程序中可以支持+、-、*、/的语句,所有的语句有优先顺序,先乘除后加减...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: