数据库原理-SQL查询语句
参考书籍《Oracle 数据库开发与应用》
SQL查询语句,针对数据库中的表提供了各种查询功能。这里分为五个部分,说明在SQL中如何对数据进行查询。
简单查询
SELCET语句是最简单的SQL语句,格式为
----------------------------------------
SELECT {*,列名[别名],···}
FROM 表名;
-----------------------------------------
在SELECT语句中,具有以下性质:1.包含算术表达式 2.给字段起别名 3.空值在结果中无限大 4.用DISTINCT关键字去掉重复值
*还可以带有限制条件的查询,这也是最常用也非常重要的。
1.WHERE 限制
在WHERE子句中一般是一个字段/公式与一个值的比较,可以使用关系运算符(进行数据过滤)、逻辑运算符(多个条件限制查询)
2.BETWEEN···AND定位范围
3.IN代替OR运算符
4.LIKE模糊查询
5.ORDER BY排序
可以对多个字段排序,支持通过别名排序, 注意ORDER BY子句只能出现在整个SELECT语句最后。
连接查询
分为内连接、外连接和其他连接。
*内连接,基本格式为-------------------------------------------
SELECT 列名
FROM 表名1
JOIN 表名2 ON 相等条件
···
WHERE 其他条件;
--------------------------------------------
*外连接,使用等号作为连接操作符,不仅可以看到等值的记录,还能看到不满足等值连接条件的记录。如果一方表的连接列值在另一方表内找不到,则将找不到的内容用NULL值显示。有左外连接(LEFT OUTER JOIN )、右外连接(RIGHT OUTER JOIN)、完全外连接(FULL OUTER JOIN)。
聚合函数
聚合函数也称多行函数,常见的聚合函数:
1.COUNT
2.AVG
3.SUM
4.MAX & MIN
这里有一个容易出错的地方:如果是直接查询最值没有问题,但要将最值的相应字段显示出来就不能直接SELECT。
解决方法:1-排序后取需要的某几条记录(使用RUWNUM子句)
2-使用子查询
在SELECT中嵌套SELECT最值查询。
5.GROUP BY
即按照一个或多个字段进行分组,规则:出现在SELECT中的字段,如果没有出现在聚合函数,就必须出现在GROUP BY子句,且子句紧跟在WHERE 子句后面
6.HAVING
注意,HAVING 后面的列名不能用别名。
到这里,可以总结出一个基本完整的SQL语句结构:
----------------------------------------------------
SELECT
FROM
[WHERE ]
[GROUP BY]
[HAVING ]
[ORDER BY ];
-----------------------------------------------------
子查询
也就是嵌套查询。
*使用位置:
1-在WHERE/HAVING中使用
2-在FROM中使用
3-在SELECT中使用 (关联子查询可以在这三个位置中巧妙使用)
*用WITH/ROWNUM
1-WITH可以暂存查询结果重复使用
2-ROWNUM表明查询的行号,从1开始。*注意:要直接访问大于1的值,可以使用子查询,例如查询某个 范围使用BETWEEN AND;还可以和ORDER BY联系使用。
*相关运算符
1-EXISTS关键字
2-多行比较运算符
3- 结果集的合并和保存(UNION)
单行数据处理函数
1-字符串处理函数
2-数值处理函数
3-日期处理函数
4-类型转换函数
5-其他函数
NVL(X,Y)用于将空值转换为一个替换值。
DECODE函数可以进行选择判断。
数据库原理-SQL查询语句的更多相关文章
- WordPress 常用数据库SQL查询语句大全
在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容等等.这个时候,使用SQL查询语句可以大大简化我们的工作量. 关于如何操作SQL查询语 ...
- [数据库] SQL查询语句表行列转换及一行数据转换成两列
原文来自:http://blog.csdn.net/Eastmount/article/details/50559008 本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两 ...
- MySQL数据库详解(一)执行SQL查询语句时,其底层到底经历了什么?
一条SQL查询语句是如何执行的? 前言 大家好,我是WZY,今天我们学习下MySQL的基础框架,看一件事千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题.同样,对于MyS ...
- 15个初学者必看的基础SQL查询语句
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...
- (转)经典SQL查询语句大全
(转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...
- 经典SQL查询语句大全
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
- SQL查询语句分类
SQL查询语句有多种,下面总结下.首先先建三张表用于后面的实验 -- 学生表,记录学生信息 CREATE TABLE student( sno ), sname ), ssex ENUM('男','女 ...
- C# EF使用SqlQuery直接操作SQL查询语句或者执行过程
Entity Framework是微软出品的高级ORM框架,大多数.NET开发者对这个ORM框架应该不会陌生.本文主要罗列在.NET(ASP.NET/WINFORM)应用程序开发中使用Entity F ...
- 将Sql查询语句获取的数据插入到List列表里面
Sql查询语句获取的数据是分格式的,我们还用SqlDataReader来做,然后用IDataReader来接收读取,以下是代码: //我想查询一个用户表的信息,该用户有姓名,密码,信息三列 //1.定 ...
- sql查询语句优化
http://www.cnblogs.com/dubing/archive/2011/12/09/2278090.html 最近公司来一个非常虎的dba 10几年的经验 这里就称之为蔡老师吧 在征得 ...
随机推荐
- DNS欺骗
原理: dns欺骗又可以叫作中间人人攻击,主要是通过拦截受害人在访问某个网站时设备向外发送的dns请求,然后给出伪造的dns应答,实现欺骗过程. 实验脚本如下: from scapy.layers.d ...
- [OpenCV实战]11 基于OpenCV的二维码扫描器
目录 1 二维码(QRCode)扫描 2 结果 3 参考 在这篇文章中,我们将看到如何使用OpenCV扫描二维码.您将需要OpenCV3.4.4或4.0.0及更高版本来运行代码. 1 二维码(QRCo ...
- java代码的基本组成
我们可以通过上一篇博客写的内容来分析java代码的组成 java代码的组成我们可以大致分成4个部分 一.标识符 除了关键字(有颜色的,可以看到上方图片)以外,自己们写的单词(黑色部分的),如MyJav ...
- python进阶之路16 模块入门
索引取值与迭代取值的差异 l1 = [11,22,33,44,55] 1.索引取值 可以任意位置任意次数取值 不支持无序类型的数据取值 2.迭代取值 只能从前往后依次取值无法后退 支持所有类型的数据取 ...
- IOS14广告追踪
今天回顾一个权限问题 1.工程中先导入一下两个框架 #import <AppTrackingTransparency/AppTrackingTransparency.h> #import ...
- 刷题笔记——1267.A+B Problem
题目 1267.A+B Problem 代码 while True: try: a,b=map(int,input().strip().split()) print(a+b) except: brea ...
- 一幅图像为f=[1 4 7;2 5 8;3 6 9],设kx=1.8,ky=1.3,试采用最邻近插值对其进行放大,写出新图像矩阵。
一幅图像为f=[1 4 7;2 5 8;3 6 9],设kx=1.8,ky=1.3,试采用最邻近插值对其进行放大,写出新图像矩阵.(请写出解题步骤,并编写程序进行结果验证) 参考 matlab代码如下 ...
- 2023牛客寒假算法基础集训营4 A-H+JLM
比赛链接 A 题解 知识点:数学. 算一下发现 \(3\) 最好,\(2,4\) 并列, \(4\) 以后递减.于是,特判 \(3\) ,其他取最小值. (众所周知, \(e\) 进制最好qwq. 时 ...
- java介绍、环境搭建与Hello,World!
java的诞生 C与C++ C语言 1972年贝尔实验室 操作系统.编译器等偏底层应用 指针和内存管理漏洞 C++ 1982年 面向对象 对C兼容 在图形领域.游戏领域等方面常用 java 桌面.手机 ...
- 【学习笔记】QT从入门到实战完整版(基础控件)(4)
添加资源 将存有资源文件的文件夹放到工程目录中,如文件夹名称为 "Image",里面有 Luffy.png 文件. 在 Qt Creator 中右击工程选择[添加新文件]. 在弹出 ...