C++学习笔记day62-----oracle-select...from...where...order by

select * from where 三个条件_数据库——SELECT 查询 语法1:SELECT * FROM 表名 * 号表示:查询这个表的所有信息,在开发中能不用*号尽量不要用 * 号 例子:查询student 表中的所有记录信息​*****************************************************************************************语法2:SELECT 字段1,字段2,字段3..... FRO... 阅读详情

1、数据库的介绍
1.1、数据库简介
1.1.1、数据处理技术的发展
人工管理阶段: 20世纪50年代中期之前
以科学计算为主
批处理方式
文件系统阶段: 20世纪50年代末~60年代中后期
缺点: 数据冗余
数据不一致
数据联系弱
数据库阶段: 20世纪60年代末~至今
大三标志性:
1968年,IBM公司推出了 IMS
1968年,DBTG给出了一系列报告,给出了数据库领域的标准和规范
1970年,IBM公司的研究员,E.F.Codd 发表了大量论文,首次提出关系性数据库的概念。
特点:
采用复杂的结构化的数据模型
数据库系统为用户提供了方便的用户接口
数据库控制功能:并发控制、数据库恢复、数据的完整性(准确)、安全性。
系统更为灵活
信息处理方式不再以程序为中心,而是以数据为中心。

    1.1.2、数据库技术的几个术语
        数据(Data):数据库中的存储对象,包括文字、图形、视频、音频
        数据库(DataBase):是长期存储在计算机内、有组织、可共享的大量数据的集合。
        数据库管理系统(DataBase Manager System): 处于用户和操作系统之间的一层数据库软件
                                                 科学的组织和存储数据,高效的获得和维护数据。
        数据库系统(DBS):是指在计算机系统中引入数据库后的系统构成的。
                        由数据库、数据库管理系统(及其开发工具)、应用系统和数据库管理员(DBA)构成。
    1.1.3、关系型数据库
        用二维表保存数据的数据库
        表头、行、列、字段、字段的值
1.2、主流的关系型数据库产品
    商业型
    Oracle      Oracle(甲骨文) 10g
    DB2         IBM
    SQL server  微软
    开源:
    Mysql       Oracle

1.3、SQL语言
    SQL(Structured Query Language):结构化查询语句
    SQL是在关系型数据库上执行数据操作、检索以及维护使用的标准语言,可以用来查询数据、操作数据、定义数据,控制数据等。
    SQL分为:
        DQL(数据查询语句):select
            用来从数据库中查询需要的数据。使用最广泛、语法最复杂的语句。
        DML(数据操作语句):insert delete update
            用来改变数据库表中的数据。
        DEL(数据定义语句):create drop alter
            用来创建、删除、更改数据库对象
        TCL(事务控制语句):commit rollback savepoint
            用来维护数据库中数据的一致性
        DCL(数据控制语句):grant revoke create user
            用于执行权限的授予和回收,创建用户等。
1.4、运程登入
    1.4.1、开发工具
        sqlplus:命令提示符下的工具
        Oracle sql developer: 图形化的工具
    1.4.2、远程登入的步骤
        1)登入服务器
            telnet ip
            login:
            password:
        2)登入服务器上的数据库
            sqlplus:
            enter user-name:
            enter password:
        成功:
            SQL>
1.5、查看表结构
    语法:
        desc 表名[;]    --sqlplus命令   
                        --语法中的[]表示其中的内容是可选项
    --查看员工表的表结构
    desc s_emp;
    SQL> desc s_emp;
    Name                                      Null?    Type
    ----------------------------------------- -------- ----------------------------
    ID                                        NOT NULL NUMBER(7)
    LAST_NAME                                 NOT NULL VARCHAR2(25)
    FIRST_NAME                                         VARCHAR2(25)
    USERID                                             VARCHAR2(8)
    START_DATE                                         DATE
    COMMENTS                                           VARCHAR2(255)
    MANAGER_ID                                         NUMBER(7)
    TITLE                                              VARCHAR2(25)
    DEPT_ID                                            NUMBER(7)
    SALARY                                             NUMBER(11,2)
    COMMISSION_PCT                                     NUMBER(4,2)

    Name:字段名
    Null:是否允许为空
        NOT NULL:不允许为空
    Type:数据类型
        NUMBER(p,s) --数值类型
            p:  1<=p<=38    默认38  有效位数
            s:  -84<=s<=127 默认0   精确到小数点后几位
            有效位:从左边第一个非0数字开始的位数
            s的情况:
                s>0:精确到小数点后s位,并进行四舍五入,然后检查有效位是否<=p
                s<0:精确到小数点前|s|位,并四舍五入,然后检查有效位是否<=p+|s|
                s=0:整数
        VARCHAR2(n) --字符串类型    变长字符串 1~4000Bytes  查询效率低,占用空间小  没有默认
        CHAR(n)     --字符串类型    定长字符串 1~2000Bytes  查询效率高,占用空间大  n默认为1
        DATE        --日期类型      

2、select语句
2.1、三个概念
选择:部分行、全部列
投影:全部行、部分列
表连接:查询的数据来自于多张表时,需要把多张表关联起来,再进行查询。
2.2、select语句
1) 基本查询语句
2) where子句
3) order by子句
4) 单行函数
5) 多表查询
6) 组函数和分组
7) 子查询
3、基本查询语句
select … from …;
3.1、查询一个字段
select 字段名 from 表名;
–列出所有员工的工资
select salary from s_emp;
3.2、查询多个字段
select 字段名1,字段名2,… from 表名;
–查询员工的编号、名字和工资
select id,first_name,salary from s_emp;
3.3、查询表中的所有字段
select 字段列表 from 表名;
字段列表用 * 代替
select * from s_emp;
3.4、表中字段的算数运算 一般指的是数值类型
+ - * /
– 列出员工的年收入
select id,first_name,14*salary + 1000 from s_emp;
3.5、字段或表达式的别名
语法:
字段或表达式[as]别名
–为字段和表达式命名别名
select id,first_name,14*salary+1000 as “year salary” from s_emp;
select id,first_name,14*salary+1000 “year salary” from s_emp;
–使用双引号把别名括起来,就可以使用关键字,别名变为大小写敏感
3.6、oracle中的字符串
3.6.1、字符串的表示方式
使用单引号,比如:’a’、’Hello World!’
3.6.2、字符串的拼接
||–字符串的拼接符号
‘Hello’||’World’
–把员工表中的first_name和last_name拼接起来
select first_name||’ ‘||last_name name from s_emp;
–把员工表中的first_name和last_name拼接起来,中间加入单引号
‘作为SQL中的转意字符
select first_name||””||last_name name from s_emp;
–列出员工的年收入,加上提成
select id,first_name,(14*salary+1000)*(1 + nvl(commission_pct,0)/100) “year salary” from s_emp;
–NULL值出现在表达式中,会造成表达式的结果为NULL。
处理NULL值的函数: nvl
nvl(par1,par2):如果说第一个参数不为空,返回par1;如果第一个参数为空,返回par2。
par1,par2的数据类型可以是任意类型,但是必须相互匹配。
3.8、排重显示
可以使用 distinsct 去掉查询结果集中的重复行
–列出所有的职位
select distinct title from s_emp;
–多列排重
select distinct title,dept_id from s_emp;

4、where子句
4.1、作用
根据条件,从表中筛选数据行。符合条件的行被挑选出来,不符合条件的行被过滤掉。
select 字段列表 from 表名 where 条件;
4.2、数值类型的条件
–列出工资高于1500的员工的编号,名字和工资
select id,first_name,salary from s_emp where salary>1500;
4.3、字符串类型的条件
–列出名字为’Ben’的员工的信息。
select id,first_name,salary from s_emp where first_name = ‘Ben’;
注意:sql中不区分大小写,但是字符串类型的值是区分的。
sql中没有==符号
4.4、oracle中的比较运算符

< >= <= !=(<>、^=)
4.5、sql提供的运算符
4.5.1、表示一个闭区间
字段 between par1 and par2
–列出工资在[1100,1450]范围内的员工的信息
select id,first_name,salary from s_emp where salary between 1100 and 1450;
4.5.2、表示一个列表
字段名 in(值1,值2,…)
–列出部门编号为31 35 41 45 50
select id,first_name,dept_id,salary from s_emp where dept_id in(31,35,41,45,50);
4.5.3、模糊查询
学生名中包含’龙’的学生的信息
like ‘模式’
模式中可以包含通配符:
%:匹配任意长度的任意字符
_:匹配一个任意字符
–列出员工的first_name包含’a’的员工
select id,first_name,salary from s_emp where first_name like ‘_a%’;
–user_tables:数字字典 保存当前用户的所有标的信息,由系统进行管理,用户只有查看的权限
select table_name from user_tables where table_name like ‘%_%’ escape ‘\’;
使用escape制定转意字符
where 字段 like ‘模式’ escape ‘转意字符’
4.5.4、NULL值的判断
–列出领导编号为NULL为员工的信息
select id,first_name,MANAGER_ID from s_emp where MANAGER_ID=NULL;
–NULL的判断不能使用比较运算符。
select id,first_name,manager_id from s_emp where manager_id is NULL;
4.6、sql中的逻辑运算符
与 或 非
and or not
4.6.1、使用逻辑与改写闭区间的案例
select id,first_name,salary from s_emp where salary>1100 and salary<1500;
4.6.2、使用逻辑或改写列表的案例
select id,first_name,salary from s_emp where dept_id=31 or dept_id=35 or dept_id=50;
4.6.3、对立面
<=
< >=
= !=
between par1 and par2 not between par1 and par2
in not in /注意NULL/
like not like
is null is not null

        select id,COMMISSION_PCT from s_emp where COMMISSION_PCT is not NULL;

5、order by子句
5.1、order by子句的位置和作用
select 字段列表 from 表名 where 筛选条件… order by 子句;
order by 在一条select语句的最后,对结果集进行排序.
语法:
order by 排序标准 排序方式[,排序标准 排序方式,…]
排序标准值得是用于排序的字段或表达式
其中,排序方式有两种:
asc: 升序 缺省方式
desc: 降序
5.2、对工资进行降序排序,显示id,first_name,salary
select id,first_name,salary from s_emp where 1=1 order by salary desc;
5.3、多列排序
select id,first_name,salary from s_emp where 1=1 order by salary desc,id;
5.4、排序时NULL处理
select id,first_name,salary from s_emp where 1=1 order by manager_id;
排序时,默认把NULL值作为最大值处理。

基于ESP32的智能无线广播系统开发博客 通过本项目的开发,我们成功地实现了基于ESP32的智能无线广播系统。该系统不仅具备传统广播的功能,还实现了通过Wi-Fi无线传输音频、实时广播和智能控制等多种先进功能。未来,随着技术的进一步发展,我们还可以扩展更多功能,如智能推荐广播内容、支持语音识别和控制等。希望本项目能够为嵌入式开发人员提供一些思路和参考,帮助大家在实际开发中更好地应用ESP32平台,开发出更加智能和实用的无线广播系统。 阅读详情

相关推荐

逍遥模拟器改真机参数全指南:从ARM伪装到电池传感器模拟

本文提供逍遥模拟器深度伪装实战指南,重点讲解如何通过修改ARM架构、系统属性和模拟传感器数据,使其在硬件信息、电池状态等维度逼近真实设备,有效规避应用检测。文章详细介绍了使用Magisk模块、LSPosed框架进行设备指纹伪装和动态数据模拟的策略,帮助用户实现从静态信息到动态行为的全方位真机模拟。

weixin_29279101的博客 452

C++ Sqlite3的基本使用

|SQLite3简介 SQLite3只是一个轻型的嵌入式数据库引擎,占用资源非常低,处理速度比Mysql还快,专门用于移动设备上进行适量的数据存取,它只是一个文件,不需要服务器进程。 SQL语句是SQL操作的指令,我们用C/C++访问数据库时,需要用char*即C字符串来保存SQL语句,然后调用相应sqlite3库的函数,传入C字符串,来执行SQL指令。 常用术语:表(table)、字段(...

weixin_34419326的博客 1057

从零到一:QT for OpenHarmony 开发环境实战搭建与踩坑指南

本文是一份详尽的QT for OpenHarmony开发环境搭建实战指南。文章手把手教你如何在Windows和macOS系统上,从环境准备、核心工具(DevEco Studio与社区版QT SDK)安装配置,到创建首个QT Quick项目、解决构建部署中的常见问题,最终实现应用在OpenHarmony设备上运行。内容涵盖关键配置修改、资源管理及深度踩坑经验,旨在帮助开发者高效开启跨平台开发之旅。

weixin_29190573的博客 325

基于字典树的前向/后向分词器

NLPHW2——基于字典树的前向/后向分词器 作者: 王赛宇 完成列表: 基于字典树的前向分词器 在字典树前向分词器的基础上改进为后向分词器 重要说明:项目必须运行在GBK编码环境下 这次作业的目标是实现一个前向、后向分词器。在了解算法后,我认为这里最关键的技术是:如何在一个大的词库中快速的匹配当前的字符串?那么我们先从这个问题的由来开始学起: 什么是前向分词器? 其原理非常简单,实质上就是以句子中的某一个字为起点,从最大长度开始检索,寻找以该字为起点能够组成的最长词语,进行分词的方法,看一个例子:

qq_17853613的博客 565

Vivado IP核综合失败别慌:除了打补丁,这个TCL命令也能救急(以Video Frame Buffer为例)

本文详细解析了Vivado IP核综合失败的排查方法,特别是针对Video Frame Buffer Read IP的常见问题。从补丁安装到深入分析DCP文件生成机制,再到使用强大的TCL命令`foreach ip_in_proj [get_ips] {compile_c [get_ips $ip_in_proj]}`强制重编译,提供了一套完整的解决方案。帮助开发者快速定位并解决IP核综合失败问题,确保项目顺利进行。

weixin_30892889的博客 424

硬件单板类机考复习提纲

6、 功率晶体管低导通损耗时处于的状态(饱和状态、放大状态、截止状态)(放大器的采样频率特性)总结:元器件特性(电阻、电容、二极管、三极管、晶体、晶振、MOS、磁珠等)信号质量问题产生根因(单调性、边沿过缓、毛刺、回沟、抖动等)3、 几种电容容量范围大小(超级电容、钽电容、陶瓷电容、铝电容)66、背板连接器接触设计的接触顺序(先导向、再地针、最后信号针)28、逻辑电平接口的特性(CMOS、TTL、ECL、PECL)76、差分电平(lvpecl、RS-422/485、cml)

2303_79562407的博客 1万+

c mysql 检索_C/C++使用Select检索MySQL中的数据

首先创建一个表和插入多行数据,如下Create database demo;Use demo;DROP TABLE IF EXISTS `Students`;CREATE TABLE `Students`(`id` int(11) NOT NULL AUTO_INCREMENT,`name` char(20) NOT NULL,`sex` char(5) DEFAULT NULL,`address...

weixin_32060429的博客 389

如何使用JMeter进行大模型的压力测试?

使用JMeter进行大模型的压力测试,核心是通过模拟高并发请求,测试大模型在极限负载下的性能表现(如响应时间、吞吐量、错误率、资源瓶颈等)。通过以上步骤,可系统性评估大模型在高压下的性能极限,为优化模型(如量化、蒸馏)、扩容硬件(增加GPU)或调整接口限流策略提供数据依据。)、请求方式(POST)、认证方式(API Key放在Header)、请求参数(作用:避免瞬间高压压垮系统,更精准找到瓶颈点。等)、响应格式(同步/流式)。需获取:API地址(如。通过CSV文件引入不同。

alankuo的专栏 789

c++常见面试问题总结

c++和C语言的区别 C语言是面向结构性语言,C++是面向对象语言 c语言是c++的子集,c++包含了c语言的全部词法和语法内容,比c语言多出了类。 程序运行的保存的五个区 堆 栈 常量 全局变量 代码区 什么是面向对象:注重的是对象,当解决一个问题的时候,面向对象会把事务抽象成一个对象,就是说问题里有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,最后解决问题 什么是面向结构:注重过程,当解决一个问题的时候,面向过程会把事情拆分成:一个个函数,然后按照一定...

huangtianyi1994的博客 837

手把手教你学GPU的KMD专栏--3.1 设备初始化流程深度解析

本文深入解析了KMD(内核模式驱动)设备初始化流程,这是GPU驱动开发最基础且关键的环节。初始化流程包括6个核心阶段:KMD模块加载、PCIe设备探测匹配、GPU硬件初始化、显存分配映射、中断系统配置和设备注册。每个阶段都有详细步骤解析,涉及关键数据结构和错误处理机制。文章还分析了常见问题(驱动加载失败、显存分配失败、中断配置失败)的解决方案,并指出未来趋势将向动态初始化、安全增强和AI优化方向发展。正确高效的初始化流程是确保GPU被操作系统安全使用的前提,也是后续内存管理、任务调度等功能的基础。

MHD0815的博客 262

mapbox进阶,百度地图、高德地图纠偏,使用在线网络地图加载插件

本文详细介绍如何基于mapbox-gl v3.8.0版本百度地图、高德地图纠偏,使用在线网络地图加载插件,亲测可用。希望能帮助到您。一起学习,加油!加油!

我哎GIS博客 749

Python-Level2-day05:数据库概述;数据库管理语句;数据表管理语句;表数据基本操作增删改查;

2022年7月11日16:14:34

dpq666dpq666 350

什么是DHCP Snooping?如何配置DHCP Snooping?

功能描述防护类型防御伪造 DHCP 服务器、避免地址冲突、增强网络安全性使用场景企业园区网、校园网、大型局域网配合机制IP Source Guard、DAI、防止 ARP 欺骗部署难度⭐⭐(简单)“DHCP Snooping,是内网 DHCP 安全防护的第一道门神。” 🛡️。

网络技术联盟站 1267

C/C++使用Select检索MySQL中的数据

C/C++使用Select检索MySQL中的数据

IT1995的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

6.3 常用的查找方法

查找(search)当然也是最常见的运算,就是在数据集合中寻找满足条件的数据对象,找到后进一步给出对象的具体信息,在数据库技术中称为检索(retrieval)。 查找的依据 查找的依据是关键字(key word)是否相同。可以唯一地把资料区分出来的数据被称为主关键字。 例如学生的资料,该资料是一个结构体变量; struct student{     int id ; //学号

芝麻软件工作室的专栏 719

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Oracle数据库:排序order by语句,select from where order by的执行先后顺序,各种样例

Oracle数据库:排序order by语句,select from where order by的执行先后顺序,各种样例

weixin_46838716的博客 2952

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

c++ mysql select取数据代码

int main() { MYSQL *mysql_con = conn::Connect();//连接 if (mysql_con == nullptr) { printf("read_gantry_file sql connect error"); system("pause"); } char * query0 = "set names utf8"; mysql_query(mysql_con, query0);//设置编码格式.

weixin_41977938的博客 532

select * from a,b where a.c=b.c实为内连接

仅作为记录用来翻阅提醒,因为老忘: select * from a,b为笛卡尔乘积,对笛卡尔乘积概念不熟的呢就自行搜索百科复习一下; select * from a,b where a.c=b.c 等价于select * from a inner join b on a.c=b.c; select * from a left join b on a.c=b.c,将a表查询的结果去b中做匹配,匹配不...

u013272574的博客 8664

调用成员函数where()对整数_C++默认成员函数解析!

1.什么是面向对象?概念:(Object Oriented Programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。C++不是纯面向对象语言,而是基于面向对象的语言(ps:因为它包含C的部分,C是面向过程)面向对象三大特性:封装、继承、多态2.类的大小?为什么要内存...

Aysen的博客 501

调用成员函数where()对整数_C++默认成员函数解析

1.什么是面向对象?概念:(Object Oriented Programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。C++不是纯面向对象语言,而是基于面向对象的语言(ps:因为它包含C的部分,C是面向过程)面向对象三大特性:封装、继承、多态2.类的大小?为什么要内存...

weixin_29310853的博客 177

[C#]Where关键词的用法

where(泛型类型约束)where关键词一个最重要的用法就是在泛型的声明、定义中做出约束。 约束又分为接口约束、基类约束、构造函数约束、函数方法的约束,我们慢慢介绍。接口约束顾名思义,泛型参数必须实现相应的接口才可以,看一个例子:public interface IAccount { string Name { get; } d

六天 1万+
上一篇: C/C++语法方面的一些小问题
下一篇: linux-----页、页表、页框(块)
displayMessage
博客等级 码龄11年 34粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值