金仓数据库单表与多表查询

news2024/9/20 14:29:38

单表与多表查询

单引号与双引号

针对有空格、特殊字符、数字开头的字段别名必须加双引号

 

针对标量字符串表达式必须用加单引号

 

连接运算

字符串的拼接运算

 

字符串拼接经常用于生成SQL脚本

删除exam模式下所有的表,可以通过拼接生成如下批量的SQL

select 'drop table ' || schemaname || '.' || tablename || ';' AS "batch_sql" from sys_tables where schemaname='exam';

 

算术运算符

数值的算术运算

 

日期的算术运算

 

使用条件表达式

输出成绩,成绩大于等于90时输出高,大于等70小于90输出中,其他输出低,使用

case when实现

select sno,cno,score, CASE WHEN score>=90 THEN '高' WHEN score<90 AND score>=70 THEN '中' ELSE '低' END AS score_level FROM exam.score;

 

where子句

等值查询

select 字段 from 表名 where  字段名> ‘字段值’;

select 字段 from 表名 where  字段名 = ‘字段值’;

.....

 

字符型字段列表匹配(显示多个值)

查看学员所在地为beijing和chongqing

select sno,sname,city from exam.student where city in('Beijing','Chongqing');

 

多条件匹配

查找所在城市为Beijing,工作岗位是Database Engineer的学员信息。

 select sno,sname,city,job from exam.student where city='Beijing' AND job='Database Engineer';

多表查询

内连接

内连接根据两个连接表的同名列或逻辑相关列的值进行比较,返回与连接条件匹配的行数据

使用INNER JOIN子句进行内连接

INNER是默认关键字,可以省略

 

注意:除“select *”外,同名字段出现在查询列表中需要指定表名前缀,否则报错

如:

 

正确写法:(加上表名,指定是哪个表的字段)

 

使用WHERE子句代替内连接的INNER JOINON子句

 

外连接(OUTER关键字可省略)

左外连接LEFF OUTER JOIN

左外连接的结果集包括LEFT OUTER 子句中指定的左表的所有行,而不仅仅是连接列匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中来自右表的所有列均为空值。

使用t01表的id1字段和t02表的id1字段连接,t01表显示全部记录,t02表只显示满足连接条件的记录

 

右外连接RIGHT OUTER JOIN

右外连接是左向外连接的反向链接。返回右表的所有行。如果右表的某行在左表中没有匹配行,则在相关联的结果集行中来自左表的所有列均为空值

使用t01表的id1字段和t02表的id1字段连接,t02表显示全部记录,t01表显示满足连接条件的记录。

 

全外连接full outer join

全外连接返回左表和右表中的所有行,当一个表中的某行在另一个表中没有匹配时,则在相关联的结果集行中来自另一个表的所有列返回的空值。全外连接显示两表匹配的行和不匹配的行。

 

连接条件和过滤条件

连接条件决定哪些行参与表连接,通常位于ON子句以下列子中a.id1=1属于连接条件。

select * from t01 a LEFT OUTER JOIN t02 b ON a.id1=b.id1 AND a.id1=1;

 

过滤条件是在表连接后的结果集中对数据进行过滤,通常放在WHERE子句中以下例子中a.id1=1”属于过滤条件

 

内连接的连接条件与过滤条件是等价的

 

交叉连接CROSS JOIN

交叉连接也称为笛卡尔连接,交叉连接返回左右两表基于元组的笛卡尔积,如果使用不当会给数据库系统带来巨大性能压力。

 

自连接INNER JOIN

通过为表设置别名将一张表虚拟成两张表后进行连接操作,常用于一张表内列之间具有键值依赖的数据检索。

自然连接NATURAL INNER

自然连接是等值连接的一种特殊形式,使用NATURL关键字代替连接条件,通过两张或者多张表中所有具有相同名称的字段进行等值连接。多个同名字段连接时,逻辑运算符为AND。在自然连接中遇到关联表中的同名字段具有不匹配的或不可隐式转换的数据类型时会导致执行出错。

自然连接可以是内连接也可以是外连接

内连接

 

外连接

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/182822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

scipy learn sharpen filter

文章目录1. 问题2. 方案2.1 学习一个 5 * 5的滤波核2.2 学习分通道的滤波核 以及 分离卷积3. 分析根据图像对学习滤波核之前研究过根据图像对生成3Dlut, 以及生成颜色变换系数 这里我们利用图像对学习 滤波 1. 问题 遇到的问题是这样的&#xff0c;已知一个图像和经过邻域滤…

爱快软路由对笔记本实现网络唤醒

本人有一台爱快软路由作为动态域名和端口映射&#xff0c;实现通过阿里域名远程访问内网设备。一台X201笔记本连接在软路由上。由于X201电池已经卸下无法实现来电开机&#xff0c;只能通过爱快e云APP手动实现网络唤醒&#xff0c;感觉非常麻烦。爱快云web端也不能实现开机唤醒X…

学长教你学C-day11-C语言结构体、枚举、联合体

“前面我们学习了数组&#xff0c;从数据类型来看&#xff0c;数组就是具有相同数据类型的变量集合&#xff1b;从内存空间来看&#xff0c;数组就是一串由相同大小的数据空间组成的较大的内存空间。那么结构体是什么呢&#xff1f;从内存角度讲&#xff0c;结构体也是一块地址…

PEG化芘衍生物——Pyrene-PEG-Acid,Pyrene-PEG-COOH,芘丁酸-聚乙二醇-羧基

一&#xff1a;产品描述 1、名称 英文&#xff1a;Pyrene-PEG-COOH&#xff0c;Pyrene-PEG-Acid 中文&#xff1a;芘丁酸-聚乙二醇-羧基 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a; Carboxylic acid PEG Pyrene PEG 4、分子量&#xff1a;可定制2000、1000、340…

2022个人年度总结:别让内心的烦躁和焦虑,占据本就不多的热情。

在从毕业一直到现在&#xff0c;我都会写一篇关于自己的从技术、商业、人情世故以及未来展望的博文&#xff0c;以至于归纳每个时期的自己&#xff0c; 走在互联网开发的边缘&#xff0c;不得不抽出时间鞭策自己学习新知识&#xff0c;未知的知识是 充满好奇的&#xff0c; 就好…

Makefile学习⑧:Makefile中通用部分做公共头文件

Makefile学习⑧&#xff1a;Makefile中通用部分做公共头文件 创建2个文件夹Demo1和Demo2,2个文件夹中的文件完全一样&#xff0c;但是命名不一样。 博主创建的如下&#xff0c;内容沿用前几章的函数文件。 这两个Makefile中的内容除了目标文件名和依赖文件名不一致&#xff0…

轻松实现一个Python+Selenium的自动化测试框架

首先你得知道什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分&#xff1a;Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE&#xff…

知识抽取-实体及关系抽取

信息抽取的三个最重要&#xff0c;最受关注的子任务&#xff1a; 实体抽取 命名实体识别&#xff0c;包括实体检测&#xff08;find)和分类&#xff08;classify) 关系抽取。 通常我们所述的三元组抽取&#xff0c; 一个谓词&#xff08;predicate)带2个形参&#xff08;argum…

MySQL学习记录(9)存储引擎

文章目录6、InnoDB存储引擎6.1、逻辑存储结构6.2、架构6.2.1、概述6.2.2、内存结构6.2.3、磁盘结构6.2.4、后台线程6.3、事务原理6.3.1、事务基础6.3.2、redo log日志6.3.3、undo log日志6.4、MVCC6.4.1、基本概念6.4.2、记录中隐藏字段6.4.3、undo log日志6.4.4、readview6.4.…

算法基础(二):数组知识点及题型讲解

算法基础&#xff08;二&#xff09;&#xff1a;数组知识点及题型讲解1 数组定义2 Python数组常用操作2.1 创建数组2.2 添加元素2.3 访问元素2.4 更新元素2.5 删除元素2.6 获取数组长度2.7 遍历数组2.8 查找某个元素2.9 数组排序3 力扣题目训练一些算法基础知识点和leetcode题…

汇编语言1基础知识

机器语言 机器语言是机器指令的集合&#xff0c;即计算机可以执行的指令。 机器指令由一连串二进制数字构成&#xff0c;计算机中用高低电平表示。高电平为1&#xff0c;低电平为0。 早期通过在纸带上打孔输入计算机运算。打孔为1&#xff0c;不打孔为0。 上图出自剧版三体第…

c语言tips-【gcc详细介绍】

0. 什么是gcc GCC 原名为 GNU C语言编译器&#xff08;GNU C Compiler&#xff09;GCC&#xff08;GNU Compiler Collection&#xff0c;GNU编译器套件&#xff09;是由 GNU 开发的编程语言译器。 GNU编译器套件包括C、C、 Objective-C、 Java、 Ada 和 Go语言前端&#xff0c…

【GPLT 二阶题目集】L2-009 抢红包

没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录&#xff0c;请你统计一下他们抢红包的收获。 输入格式&#xff1a; 输出格式&#xff1a; 按照收入金额从高到低的递减顺序输出每个人的编号和收入金额&#xff08;以元为单位&#xff0c;输出小数点后2位&a…

ISIS与OSPF的双点双向简介与配置,双点双向中存在的问题(次优路径与环路风险)

2.4.0 ISIS与OSPF的双点双向简介与配置&#xff0c;双点双向中存在的问题 关于双点双向的相关概念 单点双向 网络中连接外网的设备称为出口网关设备 &#xff0c;通常小型网络中仅有一台出口网关设备。 网络中仅存在一台出口设备与外网设备对接时相互引入对端的路由&#xf…

学长教你学C-day12-C语言函数

不知不觉&#xff0c;小刘已经讲了十一天C语言了&#xff0c;语法、数据结构、数组、结构体、指针的概念和使用大家都已经了然于心&#xff0c;但是想用C语言开发一个有用的程序还需要一个很关键的部分&#xff0c;那就是编写“函数”。 “函数这个名字大家肯定都不陌生&#x…

ZooKeeper架构篇 - 分布式协调服务ZooKeeper

前言 本文基于 ZooKeeper 3.8.0 版本。 ZooKeeper集群搭建 准备四台服务器&#xff0c;IP地址分别为10.211.55.6、10.211.55.7、10.211.55.8、10.211.55.9 下载并解压 ZooKeeper 文件&#xff0c;四台服务器进入 data 目录分别创建一个 myid 文件&#xff0c;文件内容分别为…

vue全家桶(二)组件化开发

vue全家桶&#xff08;二&#xff09;组件化开发1.组件化开发思想2.组件注册2.1局部注册2.2全局注册Vue.component1.注意事项&#xff1a;2.组件的命名方式3.组件间的交互3.1父组件向子组件传值-props属性值类型1.组件化开发思想 标准分治重用组合 2.组件注册 vue 注册组件的…

《动手学深度学习》笔记一 ------机器学习中的基础概念

写在前面&#xff1a;本文按照书中的脉络做的笔记&#xff0c;包含概念的定义、自己的理解以及阅读时的小思考。感受&#xff1a;深度学习很奥妙&#xff0c;很有趣&#xff01; 1.2机器学习中的关键组件 可以⽤来学习的数据&#xff08;data&#xff09;&#xff1b;如何转换…

直接在Notepad++中运行GO语言

建议先阅读并实践&#xff08;配置notepad支持go语言语法着色(高亮)&#xff09;:https://mp.csdn.net/mp_blog/creation/editor/new/1287591911.Windows上安装Go语言开发包参考链接&#xff1a;http://c.biancheng.net/view/3992.html1.1.下载Go语言开发包可以在Go语言官网 &a…

大聪明教你学Java | 深入浅出聊 Mybatis 的一级缓存和二级缓存

前言 &#x1f34a;作者简介&#xff1a; 不肯过江东丶&#xff0c;一个来自二线城市的程序员&#xff0c;致力于用“猥琐”办法解决繁琐问题&#xff0c;让复杂的问题变得通俗易懂。 &#x1f34a;支持作者&#xff1a; 点赞&#x1f44d;、关注&#x1f496;、留言&#x1f4…