友情提示:本文共有 1409 个字,阅读大概需要 3 分钟。
SQL语句是对所有关系数据库都通用的命令语句。本文主要是利用Oracle数据库的HR用户进行测试。一、SQL语言基础
基本概念:结构化查询语言(Structured Query Language)简称 SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
二、DQL语言(数据查询语言)
主要由select关键字完成,查询语句是SQL语句中最复杂、功能最复杂的语句。
编写select语句的语法要求、语句基本结构、算术表达式、列名和空值的定义以及select的基本练习在下面的文章中都有详细介绍:
SELECT语句的基本介绍
如果查询的表特别大,查询返回的结果也会非常庞大且没有实际意义,为了解决这个问题我们需要用选择限制返回结果的数量,下面这篇文章描述了用where关键字限制行的比较条件、以及字符串和日期在where子句中的注意事项:
SELECT语句之约束和排序数据一
除了比较条件的使用外,用逻辑条件关系也可以限制返回的行数:
逻辑条件:逻辑条件组合两个比较条件的结果来产生一个基于这些条件的单个的结果, 或者逆转一个单个条件的结果。当所有条件的结果为真时,返回行。SQL 的三个逻辑运算符是:AND 、OR 、NOT 。
1.AND
示例:
查询工作岗位包含字符串 MAN 并且收入大于等于$10,000 的那些雇员的编号、工作 ID、名字以及薪水。
2.OR
示例:查询任何 job ID 中包含 MAN 或者收入大于等于$10,000 的雇员编号、工作 ID、名字 以及薪水
3.NOT
示例:查询那些工作岗位不是 IT_PROG、ST_CLERK 或 SA_REP 的雇员的名字和工作岗位。
三、连接符的优先规则
示例:查询工作岗位是 SA_REP 或者工作岗位是 AD_PRES 并且薪水大于 15000 的员工姓名、 工作 ID 以及薪水。
四、ORDER BY子句
ORDER BY子句:用于对结果集进行排序处理,提供了升序排序(ASC)与降序排序 (DESC)如果不指定排序规则默认为升序排序。在排序中也可以使用没有包括在 SELECT 子 句中的列排序。如果未使用 ORDER BY 子句,排序次序就未定义,并且 Oracle 服务器可 能对于相同查询的两次执行取回行的顺序不同。
1.ORDER BY语法
ORDER BY 子句在 SELECT 语句的最后
ORDER BY 后侧指定需要排序列
ASC 以升序排序行 (这是默认排序)
DESC 以降序排序行
2.升序规则
对于数字值,小的值在前面显示—例如,1–999。
对于日期,早的日期在前面显示—例如,01-1-92 在 01-1-95 前面 。
对于字符值,依字母顺序显示—例如,A 第一,Z 最后。
对于空值,升序排序时显示在最后,降序排序时显示在最前面
3.列号排序(不推荐使用)
可以使用投影的列的序号指定排序列
4.用列别名排序
5.多列排序
多列排序:可以用多列排序查询结果。在 ORDER BY 子句中,多个指定的列名 之间用逗号分开。如果想要对某个列倒序排序需则在该列名后面指定 DESC。
五、select语句的执行
通过对select语句的总结,发现select语句有from、where、select、order by这几个子句,他们的执行顺序为from>where>select>order by子句。
本文如果对你有帮助,请点赞收藏《SQL语言一》,同时在此感谢原作者。