我和postgreSQL的二三事

2024-05-27 13:32
文章标签 postgresql 二三

本文主要是介绍我和postgreSQL的二三事,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天遇到这段SQL:

select itemname,name ,pushdate,mark,queryid,'0' mtype,null departmentName from push where phone = '12345678' 
union select m.mess_content itemname,m.mess_patient username,m.update_date pushdate,m.mess_status||'' mark,m.mess_id queryid,'1' mtype,m.mess_depname departmentName from mess m where m.mess_phone='12345678'  order by pushdate desc

有几点不是特别明白 (我承认我SQL基础超级差):
首先测试表
这里写图片描述

第一个:’0’ mtype 这是什么?

select ‘0’ mtype from cities
请看结果:
这里写图片描述

解释为:结果集增加名字为mtype的字段,值全部都是0当然下面的那句是’1’ mtype,所以值全部为1

第二个:m.mess_status||” 这是什么?

select ‘北京市’||city_name from cities
请看结果:
这里写图片描述
select ‘北京市’||city_name hah from cities
请看结果:
这里写图片描述
select city_name||’有美食’ from cities
请看结果:
这里写图片描述
select city_name||’有美食’ chanmao from cities
请看结果:
这里写图片描述

解释:|| 是将字符串和字段相连接
根据以上四种比较,我想大家很容易看出区别,就是要给这个列命名,不命名的话,系统自动命名

第三个:union

select itemname,name ,pushdate,mark,queryid,'0' mtype,null departmentName from push where phone = '12345678' 
union select m.mess_content itemname,m.mess_patient username,m.update_date pushdate,m.mess_status||'' mark,m.mess_id queryid,'1' mtype,m.mess_depname departmentName from mess m where m.mess_phone='12345678'  order by pushdate desc

请看结果:
这里写图片描述

**解释:当前SQL语句中解释将两个结果集累计起来,如果重复只会出现 一条记录,同时进行默认规则的排序
union(或称为联合)的作用是将多个结果合并在一起显示出来。不包括重复行,同时进行默认规则的排序。
看了union 就不得不看看union all:
union all:的作用是将多个结果合并在一起显示出来,包括重复行,不进行排序。**

 select itemname,name ,pushdate,mark,queryid,'0' mtype,null departmentName from push where phone = '12345678' 
union all select m.mess_content itemname,m.mess_patient username,m.update_date pushdate,m.mess_status||'' mark,m.mess_id queryid,'1' mtype,m.mess_depname departmentName from mess m where m.mess_phone='12345678'  order by pushdate desc   

这篇关于我和postgreSQL的二三事的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1007617

相关文章

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

PostgreSQL中MVCC 机制的实现

《PostgreSQL中MVCC机制的实现》本文主要介绍了PostgreSQL中MVCC机制的实现,通过多版本数据存储、快照隔离和事务ID管理实现高并发读写,具有一定的参考价值,感兴趣的可以了解一下... 目录一 MVCC 基本原理python1.1 MVCC 核心概念1.2 与传统锁机制对比二 Postg

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL

PostgreSQL 序列(Sequence) 与 Oracle 序列对比差异分析

《PostgreSQL序列(Sequence)与Oracle序列对比差异分析》PostgreSQL和Oracle都提供了序列(Sequence)功能,但在实现细节和使用方式上存在一些重要差异,... 目录PostgreSQL 序列(Sequence) 与 oracle 序列对比一 基本语法对比1.1 创建序

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可

PostgreSQL如何用psql运行SQL文件

《PostgreSQL如何用psql运行SQL文件》文章介绍了两种运行预写好的SQL文件的方式:首先连接数据库后执行,或者直接通过psql命令执行,需要注意的是,文件路径在Linux系统中应使用斜杠/... 目录PostgreSQ编程L用psql运行SQL文件方式一方式二总结PostgreSQL用psql运