简单的查询语句

一、结构化查询语言
  • 结构化查询语言(Structured Query Language)简称SQL
    结构化查询语言是检索关系型数据库的标准语言,20世纪70年代由IBM公司开发,目前应用于各种关系型数据库。

  • SQL的发展

-1974年首次提出,当时叫SEQUEL
-1980年更名为SQL
-1986年,ANSI定义关系数据库语言的标准,并公布了标准SQL
-1992年,通过的修改标准SQL-92
-1999年,发布SQL99标准
-2003年,发布SQL2003标准

二、结构化查询语言的分类
  • 数据查询语言(DQL:Date Query Language)

语句主要包括SELECT,用于从表中检索数据

  • 数据操作语言(DML:Date Manipulation Language)

语句主要包括INSERT,UPDATE,DELETE,用于添加,修改和删除表中的行数据

  • 事务处理语言(TPL:Transaction Process Language)

语句主要包括COMMIT和ROLLBACK,用于事务的提交和回滚

  • 数据控制语言(DCL:Date Control Language)

语句主要包括GRANT和REVOKE,用于授权和回收权限

  • 数据定义语言(DDL:Date Definition Language)

语句主要包括CREATE、DROP、ALTER,用于定义、销毁、修改数据库对象

三、基本SELECT语句
  • 基本SELECT语句的作用
  • 选择 主要体现在:在表中根据条件选择其中的某些整行的数据进行显示
  • 投影 主要体现在:在整个表中选择所有行的某些列进行数据的显示
  • 连接 主要体现在:不同的表之间的数据进行联合查询,并将数据进行显示
  • 基本SELECT语句的语法
SELECT [DISTINCT]{*|column|expression….}
FROM table;
   //SELECT字句  表示所需检索的数据列
   //FROM字句   表示检索的数据来自哪个表
四、SQL概念和规则
  • SQL语句的相关概念
  • 关键字(KeyWord):
    SQL语言保留的字符串,例如,SELECT和FROM都是关键字。
  • 语句(statement):
    一条完整的SQL命令,例如,SELECT * FROM dept 是一条语句。
  • 子句(clause):
    部分的SQL语句,通常是由关键字加上其他的语法元素构成,例如,
    SELECT * 是一个字句,FROM table 也是一个字句。
  • SQL语句的书写规则
  • 不区分大小写,也就是说SELECT,select,Select,执行时效果是一样的。
  • 可以单行来书写,也可以书写多行,建议分多行书写,增强代码的可读性,通常以字句为单位进行多行书写。
  • 关键字不可以缩写、分开以及跨行书写,如SELECT不可以写成SEL或SELE CT等形式。
  • 关键字最好使用大写,其他语法元素(如列名,表名等)使用小写。
  • Tab和缩进的使用可以提高程序的可读性
五、选择列
  • 选择所有列
  • 方式一:使用* 的方式
SELECT * 
FROM dept; 
  • 方式二:使用列名
SELECT deptno,dname,loc 
FROM dept;

试着比较那种方式的效率更高?

  • 选择指定列
  • 选择指定列:就是指定需要查询表中的列名,如查询dept表中的dname和loc,
SELECT dname,loc 
FROM dept;
六、算术运算符
  • 算术运算符的作用
  • 可以在SELECT语句中使用算术运算符,改变输出结果。
  • 算术运算符包括: + - * / 分别表示加减乘除
    例如:
SELECT ename,sal,sal+300
FROM emp;
  • 算术运算符的优先级
  • 乘除优先于加减
  • 相同优先权的表达式按照从左到右的顺序依次计算
  • 括弧可以提高优先权,并使表达式的描述更为清晰
    例如:
SELECT ename,sal,12*sal+300
FROM emp;
  • 使用括号改变优先级
  • 与正常数学中的运算相同,有括号先算括号里面的
    例如:
SELECT ename,sal,12*(sal+300)
FROM emp;
七、空值NULL
  • 空值NULL
  • 空值是指表中无效的、未赋值、未知的或不可用的值。
  • 空值不等于零或者空格。
    例如:
SELECT ename,job,sal,comm
FROM emp;
  • 算术表达式中的空值NULL
  • 任何包含空值的算术表达式运算后的结果都为空值NULL。
    例如:
SELECT ename,12*sal+comm
FROM emp;
八、列别名
  • 列别名
  • 用来重新命名列的显示标题
  • 如果SELECT语句中包含计算列,通常使用列别名来重新定义列标题
  • 使用列别名的方法
  • 方式1:列名 列别名
  • 方式2: 列名 AS 列别名
    例如:
SELECT ename AS name,sal salary
FROM emp;
  • 以下三种情况列别名两侧需要添加双引号
  • 列别名中包含有空格
  • 列别名中要求区分大小写
  • 列别名中包含有特殊字符
    例如:
SELECT ename AS "Name",Sal*12 "Annual Salary"
FROM emp;
九、连接操作符
  • 用于连接列与列、列和字符串
  • 形式上是以两个竖杠||表示
  • 用于创建字符表达式的结果列
    例如:
SELECT ename || job AS "Employees"
FROM emp;
十、原义字符串
  • 原义字符串的说明
  • 原义字符串是包含在SELECT列表中的一个字符、一个数字、或者一个日期。
  • 日期和字符字面值必须使用单引号引起来。
  • 每个原义字符串都会在每个数据行输出中出现
  • 原义字符串的使用

例如:

SELECT ename || 'is  a ' || job AS "Employee  Details"
FROM emp;   
十一、消除重复行
  • 重复行:以下查询结果默认输出所有行,其中包含了重复行

例如:

SELECT deptno
FROM emp;      
  //查询结果中包含重复行
  • 消除重复行:在SELECT 子句中使用关键字DISTINCT可消除重复行。

例如:

SELECT DISTINCT deptno  
FROM emp;
十二、显示表结构
  • 在SQL*Plus中,可以使用DESCRIB 命令来查看表结构
十三、SQL语句与SQL*PLUS命令的区别
  • SQL是关系型数据库的标准操作语言,而SQL*Plus是一个客户端工具,除了执行标准的SQL外,还可以执行工具本身的一写命令,比如登录等。
  • SQL语法不可以缩写,而SQL*PLUS命令可以缩写
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,108评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,699评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,812评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,236评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,583评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,739评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,957评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,704评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,447评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,643评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,133评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,486评论 3 256
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,151评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,889评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,782评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,681评论 2 272

推荐阅读更多精彩内容

  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 1,623评论 0 2
  • 5.多表查询 多表查询 目的:从多张表获取数据 前提:进行连接的多张表中有共同的列 等连接 通过两个表具有相同意义...
    乔震阅读 1,089评论 0 0
  • 查询是数据的一个重要操作。用户发送查询请求,经编译软件变异成二进制文件供服务器查询,后返回查询结果集给用户,查询会...
    产品小正阅读 1,274评论 0 2
  • ORACLE自学教程 --create tabletestone ( id number, --序号usernam...
    落叶寂聊阅读 1,008评论 0 0
  • 一,工作方面 1.客户订单处理, 指点 罗生P 2.5,屏安装报价 马来何生拼接屏跟进 P5 室外屏 ...
    Suky苏阅读 83评论 0 0