当前位置: 首页 > news >正文

OCP学习笔记-007 SQL语言之一:DQL

1. DQL - Data Query Language

命令行提示符修改

SQL> set time on
10:33:58 SQL> define        
DEFINE _DATE	       = "11-DEC-22" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR)
DEFINE _USER	       = "SYS" (CHAR)
DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1202000100" (CHAR)
DEFINE _EDITOR	       = "vi" (CHAR)
DEFINE _O_VERSION      = "" (CHAR)
DEFINE _O_RELEASE      = "" (CHAR)
10:34:09 SQL> set sqlprompt "_USER'@'_CONNECT_IDENTIFIER>" 
10:34:41 SYS@orcl>

一些基本参数的永久修改

[oracle@ora-server admin]$ pwd
/u01/app/oracle/product/12.2.0/db_1/sqlplus/admin
[oracle@ora-server admin]$ vim glogin.sql set linesize 200
set pagesize 100
set time onset sqlprompt "_USER'@'_CONNECT_IDENTIFIER>"

查看历史数据

08:56:52 SYS@orcl>show parameter undo_rNAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_retention			     integer	 1800		--历史数据在数据库中存放1800秒09:08:25 SYS@orcl>select * from emp
09:08:55   2  as of timestamp
09:09:05   3  to_timestamp('2023-01-02 09:01:00','yyyy-mm-dd hh24:mi:ss');EMPNO ENAME		JOB			    MGR HIREDATE	 SAL	   COMM     DEPTNO
---------- -------------------- -------------------- ---------- --------- ---------- ---------- ----------7369 SMITH		CLERK			   7902 17-DEC-80	 800			207499 ALLEN		SALESMAN		   7698 20-FEB-81	1600	    300 	307521 WARD 		SALESMAN		   7698 22-FEB-81	1250	    500 	307566 JONES		MANAGER 		   7839 02-MAR-81	2975			207654 MARTIN		SALESMAN		   7698 28-SEP-81	1250	   1400 	307698 BLAKE		MANAGER 		   7839 01-MAY-81	2850			307782 CLARK		MANAGER 		   7839 09-JUN-81	2450			107788 SCOTT		ANALIST 		   7566 19-MAR-87	3000			207839 KING 		PRESIDENT			17-NOV-81	5000			107844 TURNER		SALESMAN		   7698 08-SEP-81	1500	      0 	307876 ADAMS		CLERK			   7788 23-MAY-87	1100			207900 JAMES		CLERK			   7698 03-DEC-81	 950			307902 FORD 		ANALYST 		   7566 03-DEC-81	3000			207934 MILLER		CLERK			   7782 23-JAN-82	1300			1014 rows selected.

1.1 基本语法

SELECT {* | [DISTINCT] colume | expression [alias],...} FROM table;
  • SELECT 表示需要显示那些数据列
  • FROM 表示选择的这些列是来自哪个表
SQL> set linesize 200;
SQL> select * from emp;						# 从emp表中查看所有列EMPNO ENAME		JOB			    MGR HIREDATE	 SAL	   COMM     DEPTNO
---------- -------------------- -------------------- ---------- --------- ---------- ---------- ----------7369 SMITH		CLERK			   7902 17-DEC-80	 800			207499 ALLEN		SALESMAN		   7698 20-FEB-81	1600	    300 	307521 WARD 		SALESMAN		   7698 22-FEB-81	1250	    500 	307566 JONES		MANAGER 		   7839 02-MAR-81	2975			207654 MARTIN		SALESMAN		   7698 28-SEP-81	1250	   1400 	307698 BLAKE		MANAGER 		   7839 01-MAY-81	2850			307782 CLARK		MANAGER 		   7839 09-JUN-81	2450			107788 SCOTT		ANALIST 		   7566 19-MAR-87	3000			207839 KING 		PRESIDENT			17-NOV-81	5000			107844 TURNER		SALESMAN		   7698 08-SEP-81	1500	      0 	307876 ADAMS		CLERK			   7788 23-MAY-87	1100			207900 JAMES		CLERK			   7698 03-DEC-81	 950			307902 FORD 		ANALYST 		   7566 03-DEC-81	3000			207934 MILLER		CLERK			   7782 23-JAN-82	1300			1014 rows selected.SQL> select ename a,sal b from emp;				# 从emp表中查看enam和sal,分别命名为a和bA			      B
-------------------- ----------
SMITH			    800
ALLEN			   1600
WARD			   1250
JONES			   2975
MARTIN			   1250
BLAKE			   2850
CLARK			   2450
SCOTT			   3000
KING			   5000
TURNER			   1500
ADAMS			   1100
JAMES			    950
FORD			   3000
MILLER			   130014 rows selected.SQL> select sal,sal*12 as nianxin from emp;			# 将sal乘以12,并以nianxin为名字展示出来,这一列数据只在内存中出现SAL    NIANXIN
---------- ----------800	 96001600	192001250	150002975	357001250	150002850	342002450	294003000	360005000	600001500	180001100	13200950	114003000	360001300	15600

SQL语句特性:

  1. 不区分大小写
  2. 可以在一行或多行内书写,以分号结尾
  3. 选择多个列时,列之间使用逗号分隔
  4. 关键字不能缩写,也不能跨行
  5. 不同的子句建议写在不同的行,一个关键字后面跟的语句叫子句
  6. 标题行都会大写,数字类型默认右对齐,字符类型默认左对齐

|| 连字符

SQL> select empno||'-'||ename||';' aa from emp;		# 将empno连接一个-然后连接empno,在连接一个分号,最后命名为aa并输出AA
--------------------------------------------------------------
7369-SMITH;
7499-ALLEN;
7521-WARD;
7566-JONES;
7654-MARTIN;
7698-BLAKE;
7782-CLARK;
7788-SCOTT;
7839-KING;
7844-TURNER;
7876-ADAMS;
7900-JAMES;
7902-FORD;
7934-MILLER;14 rows selected.

distinct 去重关键字

SQL> select distinct job from emp;			# 将job列展示出来,并去重JOB
--------------------
CLERK
SALESMAN
PRESIDENT
MANAGER
ANALIST
ANALYST6 rows selected.

count 计算行数关键字

SQL> select count(distinct job) from emp; 			# 统计有多少种工作COUNT(DISTINCTJOB)
------------------6

null 空

SQL> select * from emp where comm=null;		# 等号是比较运算符,因为空值没办法进行运算,所以这个语句不会有输出no rows selectedSQL> select * from emp where comm is null;EMPNO ENAME		JOB			    MGR HIREDATE	 SAL	   COMM     DEPTNO
---------- -------------------- -------------------- ---------- --------- ---------- ---------- ----------7369 SMITH		CLERK			   7902 17-DEC-80	 800			207566 JONES		MANAGER 		   7839 02-MAR-81	2975			207698 BLAKE		MANAGER 		   7839 01-MAY-81	2850			307782 CLARK		MANAGER 		   7839 09-JUN-81	2450			107788 SCOTT		ANALIST 		   7566 19-MAR-87	3000			207839 KING 		PRESIDENT			17-NOV-81	5000			107876 ADAMS		CLERK			   7788 23-MAY-87	1100			207900 JAMES		CLERK			   7698 03-DEC-81	 950			307902 FORD 		ANALYST 		   7566 03-DEC-81	3000			207934 MILLER		CLERK			   7782 23-JAN-82	1300			1010 rows selected.

数据类型

  • number(p,s):p代表有效长度,s代表精度(小数点后多少位)
  • varchar(n):可变长字符类型,n取值0-4000,如1保存在数据库中就是1
  • char(n):定长字符类型,如果n为4,那么4保存在数据库中就是0004
  • date:日期类型
  • timestamp:时间戳类型

1.2 过滤和排序

1.2.1 过滤语句-where

where属于过滤语句,因此需要接判断语句,常见的判断如下:

操作符含义
=等于
>大于
>=大于等于
<小于
<=小于等于
<>不等于
between ... and ...在两个值之间(开区间)
in值包含在一个列表中
like模糊匹配
is null是一个空值

使用比较运算符来过滤数据

SQL> select * from emp where deptno=10;			# 查询deptno是10的数据EMPNO ENAME		JOB			    MGR HIREDATE	 SAL	   COMM     DEPTNO
---------- -------------------- -------------------- ---------- --------- ---------- ---------- ----------7782 CLARK		MANAGER 		   7839 09-JUN-81	2450			107839 KING 		PRESIDENT			17-NOV-81	5000			107934 MILLER		CLERK			   7782 23-JAN-82	1300			10SQL> select * from emp where job='CLERK';			# 字符串类型需要使用引号,因为不属于语句类型,因此需要注意大小写EMPNO ENAME		JOB			    MGR HIREDATE	 SAL	   COMM     DEPTNO
---------- -------------------- -------------------- ---------- --------- ---------- ---------- ----------7369 SMITH		CLERK			   7902 17-DEC-80	 800			207876 ADAMS		CLERK			   7788 23-MAY-87	1100			207900 JAMES		CLERK			   7698 03-DEC-81	 950			307934 MILLER		CLERK			   7782 23-JAN-82	1300			10# 在搜索时要想忽略大小写也可以,需要双向转换;
SQL> select * from emp where lower(job)=lower('sAlEsman');      EMPNO ENAME		JOB			    MGR HIREDATE	 SAL	   COMM     DEPTNO
---------- -------------------- -------------------- ---------- --------- ---------- ---------- ----------7499 ALLEN		SALESMAN		   7698 20-FEB-81	1600	    300 	307521 WARD 		SALESMAN		   7698 22-FEB-81	1250	    500 	307654 MARTIN		SALESMAN		   7698 28-SEP-81	1250	   1400 	307844 TURNER		SALESMAN		   7698 08-SEP-81	1500	      0 	30

逻辑运算符

# 查询deptno是10或20的数据
SQL> select * from emp where deptno=10 or deptno=20;EMPNO ENAME		JOB			    MGR HIREDATE	 SAL	   COMM     DEPTNO
---------- -------------------- -------------------- ---------- --------- ---------- ---------- ----------7369 SMITH		CLERK			   7902 17-DEC-80	 800			207566 JONES		MANAGER 		   7839 02-MAR-81	2975			207782 CLARK		MANAGER 		   7839 09-JUN-81	2450			107788 SCOTT		ANALIST 		   7566 19-MAR-87	3000			207839 KING 		PRESIDENT			17-NOV-81	5000			107876 ADAMS		CLERK			   7788 23-MAY-87	1100			207902 FORD 		ANALYST 		   7566 03-DEC-81	3000			207934 MILLER		CLERK			   7782 23-JAN-82	1300			108 rows selected.

between and

# 闭区间,包含边界值
SQL> select * from emp where sal between 1500 and 3000;EMPNO ENAME		JOB			    MGR HIREDATE	 SAL	   COMM     DEPTNO
---------- -------------------- -------------------- ---------- --------- ---------- ---------- ----------7499 ALLEN		SALESMAN		   7698 20-FEB-81	1600	    300 	307566 JONES		MANAGER 		   7839 02-MAR-81	2975			207698 BLAKE		MANAGER 		   7839 01-MAY-81	2850			307782 CLARK		MANAGER 		   7839 09-JUN-81	2450			107788 SCOTT		ANALIST 		   7566 19-MAR-87	3000			207844 TURNER		SALESMAN		   7698 08-SEP-81	1500	      0 	307902 FORD 		ANALYST 		   7566 03-DEC

相关文章:

OCP学习笔记-007 SQL语言之一:DQL

1. DQL - Data Query Language 命令行提示符修改 SQL> set time on 10:33:58 SQL> define DEFINE _DATE = "11-DEC-22" (CHAR) DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR) DEFINE _USER = "SYS" (CHAR) DEFINE _P…...

Git之解决重复输入用户名和密码(三十九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

Python 机器学习 基础 之 【实战案例】轮船人员获救预测实战

Python 机器学习 基础 之 【实战案例】轮船人员获救预测实战 目录 Python 机器学习 基础 之 【实战案例】轮船人员获救预测实战 一、简单介绍 二、轮船人员获救预测实战 三、数据处理 1、导入数据 2、对缺失数据的列进行填充 3、属性转换,把某些列的字符串值转换为数字…...

安全相关的一些基础知识(持续更新)

目录 1. TRNG真随机数生成 2. 对称加密和非对称加密及其区别 3. Hash算法&#xff08;摘要算法&#xff09; 4. HTTPS、TLS、SSL、HTTP区别和关系 HTTPS的基本原理 5. PSS 1. TRNG真随机数生成 True Random Number Generator 在真随机数的生成里&#xff0c;把随机数的生…...

使用TensorFlow和Keras对以ResNet50模型进行微调

以下是使用ResNet50进行微调以识别特定的新东西的代码演示。将使用TensorFlow和Keras进行这个任务。 数据集下载地址&#xff0c;解压到工程里面去&#xff1a; https://www.kaggle.com/datasets/marquis03/cats-and-dogs原始代码&#xff1a; ​ from keras.applications…...

Shell脚本要点和难点以及具体应用和优缺点介绍

Shell 脚本是一种用于自动化任务和简化常见系统命令的脚本语言,通常运行在 Unix 或 Unix-like 的系统上,如 Linux 和 macOS。Shell 脚本可以直接在命令行中执行,也可以保存为文件并通过 bash、sh、zsh 等 shell 解释器来执行。 以下是一个简单的 Shell 脚本示例,它演示了如…...

移动端浏览器的扫描二维码实现(vue-qrcode-reader与jsQR方式)

1. 实现功能 类似扫一扫的功能&#xff0c;自动识别到画面中的二维码并进行识别&#xff0c;也可以选择从相册中上传。 2. 涉及到的一些插件介绍 vue-qrcode-reader 一组用于检测和解码二维码的Vue.js组件 jsQR 一个纯粹的javascript二维码阅读库&#xff0c;该库接收原始…...

android中调用onnxruntime框架

创建空白项目 安装Android Studio及创建空白项目参考&#xff1a;【安卓Java原生开发学习记录】一、安卓开发环境的搭建与HelloWorld&#xff08;详细图文解释&#xff09;_安卓原生开发-CSDN博客 切记&#xff1a;build configuration language 一定选择Groovy&#xff01;官…...

【机器学习】与【数据挖掘】技术下【C++】驱动的【嵌入式】智能系统优化

目录 一、嵌入式系统简介 二、C在嵌入式系统中的优势 三、机器学习在嵌入式系统中的挑战 四、C实现机器学习模型的基本步骤 五、实例分析&#xff1a;使用C在嵌入式系统中实现手写数字识别 1. 数据准备 2. 模型训练与压缩 3. 模型部署 六、优化与分析 1. 模型优化 模…...

Apollo9.0 PNC源码学习之Control模块(二)

前面文章&#xff1a;Apollo9.0 PNC源码学习之Control模块&#xff08;一&#xff09; 本文将对具体控制器以及原理做一个剖析 1 PID控制器 1.1 PID理论基础 如下图所示&#xff0c;PID各参数(Kp,Ki,Kd)的作用&#xff1a; 任何闭环控制系统的首要任务是要稳、准、快的响…...

直线度测量仪发展历程!

直线度测量仪的发展历程可以概括为以下几个关键阶段&#xff1a; 拉钢丝法&#xff1a; 早期直线度测量的简单直观方法&#xff0c;利用钢丝受重力自然下垂的原理来测量直线度误差。 随着机械设备的大型化和测量精度要求的提高&#xff0c;该方法逐渐无法满足要求&#xff0c;正…...

09-spring的bean创建流程(一)

文章目录 spring中bean的创建流程finishBeanFactoryInitialization(beanFactory)beanFactory.preInstantiateSingletons();getMergedLocalBeanDefinition(beanName);流程实现FactoryBean接口,里面的对象实例化过程 spring中bean的创建流程 finishBeanFactoryInitialization(be…...

spring中基于setting和构造器的注入方式

Spring中可以通过setting和构造器两种方式进行依赖注入。 1.基于setting的注入方式&#xff08;Setter Injection&#xff09;: 实现方式&#xff1a;在类中添加对应的属性以及对应的setter方法&#xff0c;在配置文件中使用<property>元素进行注入。 示例代码&#xf…...

爬虫基本原理?介绍|实现|问题解决

爬虫基本原理&#xff1a; 模拟用户行为&#xff1a; 网络爬虫&#xff08;Web Crawler&#xff09;是一种自动化的程序&#xff0c;它模拟人类用户访问网站的方式&#xff0c;通过发送HTTP/HTTPS请求到服务器以获取网页内容。 请求与响应&#xff1a; 爬虫首先构建并发送带有…...

DevOps的原理及应用详解(六)

本系列文章简介&#xff1a; 在当今快速变化的商业环境中&#xff0c;企业对于软件交付的速度、质量和安全性要求日益提高。传统的软件开发和运维模式已经难以满足这些需求&#xff0c;因此&#xff0c;DevOps&#xff08;Development和Operations的组合&#xff09;应运而生&a…...

手撸 串口交互命令行 及 AT应用层协议解析框架

在嵌入式系统开发中&#xff0c;命令行接口&#xff08;CLI&#xff09;和AT命令解析是常见的需求。CLI提供了方便的调试接口&#xff0c;而AT命令则常用于模块间的通信控制。本文将介绍如何手动实现一个串口交互的命令行及AT应用层协议解析框架&#xff0c;适用于FreeRTOS系统…...

Redis几种部署模式介绍

Redis 提供了几种不同的部署模式&#xff0c;以满足不同的使用场景和可用性需求。这些模式包括单机模式、主从复制、哨兵模式和集群模式。下面我将简要介绍每种模式的特点和用途&#xff1a; 单机模式&#xff1a; 描述&#xff1a;单个 Redis 服务器实例运行在一台机器上&…...

【STM32HAL库学习】定时器功能、时钟以及各种模式理解

一、文章目的 记录自己从学习了定时器理论->代码实现使用定时->查询数据手册&#xff0c;加深了对定时器的理解以及该过程遇到了的一些不清楚的知识。 上图为参考手册里通用定时器框图&#xff0c;关于定时器各种情况的工作都在上面了&#xff0c;在理论学习和实际应用后…...

3588麒麟系统硬解码实战

目录 安装rockchip-mpp deb 查找头文件 .pro文件添加 检查库是否已安装 error: stdlib.h: No such file or directory ffmpeg 查找ffmpeg路径: 查找FFmpeg库和头文件的位置 使用pkg-config工具查找FFmpeg路径 ok的ffmpeg配置: ffmpeg查看是否支持libx264 ffmpeg …...

十二 nginx中location重写和匹配规则

十二 location匹配规则 ^~ ~ ~* !~ !~* /a / 内部服务跳转 十三 nginx地址重写rewrite if rewrite set return 13.1 if 应用环境 server location -x 文件是否可执行 $args $document_rot $host $limit_rate $remote_addr $server_name $document_uri if …...

收藏必看|2026 版大厂 AI 岗位薪资曝光!普通程序员转型大模型最全指南

深夜收到大厂 HR 好友发来的内部资料&#xff0c;再三叮嘱切勿对外泄露。如今网络信息传播速度极快&#xff0c;这份 2026 年企业 AI 岗真实薪资内幕&#xff0c;也值得给广大程序员、零基础入行小白参考借鉴。 翻看完整薪资台账后&#xff0c;真切感受到当下大模型赛道的薪资差…...

SAP-ABAP:变量、常量、结构与内表声明(10篇博客合集) 第五篇:声明时的键值设计技巧:结构与内表的主键、非主键配置指南

变量、常量、结构与内表声明&#xff08;10篇博客合集&#xff09; 第五篇&#xff1a;声明时的键值设计技巧&#xff1a;结构与内表的主键、非主键配置指南如果把内表比作一张内存中的“数据库表”&#xff0c;那么键就是这张表的索引甚至主键。键的设计直接决定了数据的唯一性…...

PDF 可视化签名盖章页技术解析

本文是我在设备检测系统项目开发中,无设备检测的技术实现备忘录,记载实现过程。 本文以 PC 端页面 sign-pdf.vue 为主线,说明「无设备报检」在报告审批环节如何通过前后端协作,完成报告/记录 PDF 上的签名、印章、报告编号拖放定位,并在审批通过后由后端合并生成带签章的正…...

AI算力要上天?别笑,太空数据中心真能干翻地球电费!

前言你有没有算过&#xff0c;训练一个大模型&#xff0c;相当于烧掉多少吨煤&#xff1f;如今AI狂飙突进&#xff0c;算力需求指数级增长&#xff0c;可地球上的电——不够用了&#xff01;更别说建个数据中心还得跟地方政府“斗智斗勇”&#xff0c;抢地皮、配储能、扛审批&a…...

神经网络与深度学习 第3周课程总结

深度学习视觉应用课程总结 一、常用计算机视觉数据集数据集名称发布方/年份规模图像规格类别数主要用途核心特点MNIST美国国家标准与技术研究院60k训练10k测试2828灰度图10类(0-9手写数字)入门级图像分类最经典的手写数字识别基准数据集Fashion-MNISTZalando(2017)60k训练10k测…...

基于随机森林的低成本传感器机器学习校准实践指南

1. 项目概述&#xff1a;当低成本传感器遇上机器学习校准在物联网和智能感知系统铺天盖地的今天&#xff0c;低成本传感器几乎无处不在。从监测办公室的空气质量&#xff0c;到追踪城市街道的噪音污染&#xff0c;再到农业大棚里的温湿度控制&#xff0c;这些价格亲民的“小眼睛…...

对比自行维护多个 API 源,使用 Taotoken 聚合服务在运维复杂度上的降低

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比自行维护多个 API 源&#xff0c;使用 Taotoken 聚合服务在运维复杂度上的降低 在构建依赖多个大语言模型的应用时&#xff0c…...

2026论文顶级降AI率工具大曝光:一键把AIGC率降至安全线!

步入2026年&#xff0c;学术圈的规则已经彻底变了味。过去那种只盯着查重率的“降重焦虑”早就被更可怕的“降AI焦虑”取代了。AI检测算法越来越聪明&#xff0c;高校审核标准也越来越严苛&#xff0c;光是把重复率压下去已经完全不够用了。现在摆在学生和科研人员面前的难题是…...

如何深度定制索尼相机:Sony-PMCA-RE逆向工程工具完整指南

如何深度定制索尼相机&#xff1a;Sony-PMCA-RE逆向工程工具完整指南 【免费下载链接】Sony-PMCA-RE Reverse Engineering Sony Digital Cameras 项目地址: https://gitcode.com/gh_mirrors/so/Sony-PMCA-RE 索尼相机逆向工程工具Sony-PMCA-RE是一款专业的开源工具&…...

BiliBiliCCSubtitle终极指南:5个实战技巧高效下载B站字幕

BiliBiliCCSubtitle终极指南&#xff1a;5个实战技巧高效下载B站字幕 【免费下载链接】BiliBiliCCSubtitle 一个用于下载B站(哔哩哔哩)CC字幕及转换的工具; 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle 还在为无法保存B站视频字幕而烦恼&#xff1…...