参考书籍《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查询语句的更多相关文章

  1. WordPress 常用数据库SQL查询语句大全

    在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容等等.这个时候,使用SQL查询语句可以大大简化我们的工作量. 关于如何操作SQL查询语 ...

  2. [数据库] SQL查询语句表行列转换及一行数据转换成两列

    原文来自:http://blog.csdn.net/Eastmount/article/details/50559008 本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两 ...

  3. MySQL数据库详解(一)执行SQL查询语句时,其底层到底经历了什么?

    一条SQL查询语句是如何执行的? 前言 ​ 大家好,我是WZY,今天我们学习下MySQL的基础框架,看一件事千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题.同样,对于MyS ...

  4. 15个初学者必看的基础SQL查询语句

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...

  5. (转)经典SQL查询语句大全

    (转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...

  6. 经典SQL查询语句大全

    一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...

  7. SQL查询语句分类

    SQL查询语句有多种,下面总结下.首先先建三张表用于后面的实验 -- 学生表,记录学生信息 CREATE TABLE student( sno ), sname ), ssex ENUM('男','女 ...

  8. C# EF使用SqlQuery直接操作SQL查询语句或者执行过程

    Entity Framework是微软出品的高级ORM框架,大多数.NET开发者对这个ORM框架应该不会陌生.本文主要罗列在.NET(ASP.NET/WINFORM)应用程序开发中使用Entity F ...

  9. 将Sql查询语句获取的数据插入到List列表里面

    Sql查询语句获取的数据是分格式的,我们还用SqlDataReader来做,然后用IDataReader来接收读取,以下是代码: //我想查询一个用户表的信息,该用户有姓名,密码,信息三列 //1.定 ...

  10. sql查询语句优化

    http://www.cnblogs.com/dubing/archive/2011/12/09/2278090.html 最近公司来一个非常虎的dba  10几年的经验 这里就称之为蔡老师吧 在征得 ...

随机推荐

  1. vite+ts+vue3+router4+Pinia+ElmPlus+axios+mock项目基本配置

    1.vite+TS+Vue3 npm create vite Project name:... yourProjectName Select a framework:>>Vue Selec ...

  2. Potree 002 Desktop开发环境搭建

    1.工程创建 我们使用Visual Studio 2022开发,把下载好后的PotreeDesktop源码添加到Visual Studio中. 打开Visual Studio 2022,新建Asp.N ...

  3. Spark详解(07) - SparkStreaming

    Spark详解(07) - SparkStreaming SparkStreaming概述 Spark Streaming用于流式数据的处理. Spark Streaming支持的数据输入源很多,例如 ...

  4. Hadoop详解(07) - Hdfs数据压缩

    Hadoop详解(07) - Hdfs数据压缩 概述 压缩技术能够有效减少底层存储系统(HDFS)读写字节数.压缩提高了网络带宽和磁盘空间的效率.在运行MR程序时,I/O操作.网络数据传输. Shuf ...

  5. 【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据

    SpringBoot快速操作Redis数据 在SpringBoot框架中提供了spring-boot-starter-data-redis的依赖组件进行操作Redis服务,当引入了该组件之后,只需要配 ...

  6. [Untiy]贪吃蛇大作战(三)——商店界面

    游戏商店界面: 实际的效果图如下: 要实现这个滑动,首先我们需要,一个内容显示区域,一个内容滚动区域,如下图: 其中ItemContent挂载的组件如下: 红框标注的地方是右方的滑动块. 然后Item ...

  7. AI换脸实战教学(FaceSwap的使用)---------第二步Tools:处理输入数据集。

    续上篇:https://www.cnblogs.com/techs-wenzhe/p/12936809.html 第一步中已经提取出了源视频的人脸照片以及对应人脸遮罩(landmark以及其他自选遮罩 ...

  8. 如何将WebAssembly优化到2MB?

    Blazor WebAssembly加载优化方案 对于Blazor WebAssembly加载方案的优化是针对于WebAssembly首次加载,由于BlazorWebAssembly是在首次加载的时候 ...

  9. 12月22日内容总结——django中间件的三个了解要求的方法、基于django中间件的功能设计、cookie与session

    目录 一.django中间件三个了解的方法 二.django中间件五个方法的执行流程详解 三.基于django中间件的功能设计 功能设计介绍 如何利用字符串导入模块 功能模拟 四.cookie与ses ...

  10. 【HMS Core】使用机器学习服务和搜索服务识别植物

    ​1.介绍 总览 机器学习服务(ML Kit)为开发者提供简单易用.服务多样.技术领先的机器学习能力,助力开发者更快更好地开发各类AI应用.同时,搜索服务(Search Kit)通过端侧SDK和云侧A ...