postgresql14-sql基础(一)

news2024/9/27 7:22:30

初始化

在“开始”中运行pgadmin4,输入密码,连接实例,创建测试数据库:hrdb
在这里插入图片描述

在这里插入图片描述开启查询工具面板。
**加粗样式**
https://download.csdn.net/download/hy19930118/88419281

SELECT version() AS "pg版本"

在这里插入图片描述

简单查询

SELECT first_name, last_name FROM employees;

SELECT first_name AS "名字", last_name "姓氏"
FROM employees;

在这里插入图片描述

SELECT DISTINCT department_id FROM employees;

/*
查询不同部门编号
*/

在这里插入图片描述

SELECT DISTINCT department_id,job_id --查询部门、职位组合的不同值
FROM employees;

在这里插入图片描述

SELECT 1+3 AS "结果"

在这里插入图片描述

条件过滤

SELECT *
FROM employees
WHERE employee_id = 100; -- 等于
/*
WHERE employee_id != 100; -- 不等于
WHERE employee_id <> 100; -- 不等于
WHERE hire_date > '2005-01-01'; -- 大于
WHERE hire_date < '2005-01-01'; -- 小于
WHERE hire_date >= '2005-01-01'; -- 大于等于
WHERE salary BETWEEN 10000 AND 12000; -- 之间
WHERE salary IN (10000,11000); -- 之间
*/

模糊查询

SELECT first_name
FROM employees
WHERE first_name LIKE 'S%';
SELECT first_name
FROM employees
WHERE first_name LIKE '%s'; -- 多字符后面一个s
-- SELECT 'xasds' LIKE '%s'; --返回true
SELECT first_name
FROM employees
WHERE first_name LIKE '%s%';
-- SELECT 'vgskl' LIKE '%s%'; -- 返回true

在这里插入图片描述

SELECT first_name
FROM employees
WHERE first_name LIKE 's_'; -- s后面单独一个字符
-- SELECT 'sa' LIKE 's_'; -- 返回true
-- 转义,查询包含25%的字段
SELECT 字段1 FROM 表名 WHERE 字段2 LIKE '%25\%'; --默认
SELECT 字段1 FROM 表名 WHERE 字段2 LIKE '%25#%%' ESCAPE #; --自定义
SELECT first_name
FROM employees
WHERE first_name NOT LIKE 'S%'; --区分大小写
-- ILIKE --不区分大小写

在这里插入图片描述

空值

SELECT * FROM employees WHERE manager_id IS NULL;-- null为缺失值
/*
SELECT * FROM employees WHERE manager_id NOTNULL;
*/
SELECT 1 IS DISTINCT FROM 2; --1与2不同?返回true
SELECT 1 IS DISTINCT FROM 1; --1与1不同?返回false
SELECT 1 IS NOT DISTINCT FROM 1; --双重否定是肯定,1与1相同?返回true
SELECT 1 IS NOT DISTINCT FROM 2; --1与2相同?返回false

SELECT 1 IS DISTINCT FROM null; --DISTINCT支持对空值判断,返回true
SELECT * FROM employees WHERE manager_id IS NOT DISTINCT FROM null; --manager_id为空值

在这里插入图片描述

运算符

SELECT *
FROM employees
-- WHERE first_name = 'Steven' AND last_name = 'King';
WHERE first_name = 'Steven' OR last_name = 'King';
SELECT 1=1 OR 1/0=1; --短路运算:返回true
SELECT 1=0 AND 2-1=1; --短路运算:返回fasle
/*
SELECT * FROM employees WHERE salary = 10000 OR salary = 12000 AND department_id = 80;
查找月薪在10000到12000并且部门编号为80的员工。AND优先级比OR高,所以条件应该为salary = 10000 OR (salary = 12000 AND department_id = 80)
*/
(salary = 10000 OR salary = 12000) AND department_id = 80
SELECT * FROM employees WHERE NOT first_name = 'Steven'; 
/*
NOT BETWEEN
NOT LIKE
NOT IN
*/

排序

SELECT employee_id, first_name, last_name, hire_date, salary
FROM employees
ORDER BY first_name; --按字母,默认升序
ORDER BY hire_date ASC; --升序
ORDER BY hire_date DESC; --降序
SELECT employee_id, first_name, last_name, hire_date, salary
FROM employees
ORDER BY first_name, last_name DESC --姓按照升序排,名按照降序排

在这里插入图片描述

在这里插入图片描述

SELECT employee_id, first_name, last_name, hire_date, salary
FROM employees
ORDER BY 2, 3 DESC --也可输入要查询字段的顺序号码
SELECT employee_id, manager_id
FROM employees
ORDER BY manager_id DESC; --排序时null是最大的值

SELECT employee_id, manager_id
FROM employees
ORDER BY manager_id NULLS FIRST; --指定排序时null是第一

限制返回数量

-- 前十名
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary
-- FETCH FIRST 10 ROWS ONLY;
LIMIT 10; --无相同值

在这里插入图片描述

SELECT first_name, last_name, salary
FROM employees
ORDER BY salary
FETCH FIRST 10 ROWS WITH TIES;
-- 返回数据包含相同值

在这里插入图片描述

SELECT first_name, last_name, salary
FROM employees
ORDER BY salary
OFFSET 10 ROWS --实现翻页,第一次1-10,第二次11-20,第三次,21-30
-- OFFSET 20 ROWS
-- OFFSET 30 ROWS
FETCH FIRST 10 ROWS ONLY;
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary
LIMIT 10 OFFSET 10; --同实现翻页
-- LIMIT 10 OFFSET 20;
-- LIMIT 10 OFFSET 20;

汇总统计

SELECT COUNT(*), SUM(salary), AVG(SALARY), MAX(salary), MIN(salary)
FROM employees;
-- 行数、和、平均、最大、最小
SELECT COUNT(*), COUNT(manager_id) FROM employees;
--因为实验表中有一名员工的manager_id为null,聚合函数会忽略null,但count(*)特殊

在这里插入图片描述

SELECT COUNT(DISTINCT manager_id) FROM employees; -- 聚合函数中的distinct会先去重
SELECT STRING_AGG(first_name, ';') FROM employees; --字符串聚合,以分号隔离

SELECT STRING_AGG(first_name, ';' ORDER BY first_name) FROM employees; --添加排序

分组统计

SELECT hire_date, COUNT(*)
FROM employees
GROUP BY hire_date;

在这里插入图片描述

SELECT extract(year from hire_date), COUNT(*)
FROM employees
GROUP BY extract(year from hire_date);
-- GROUP BY 1;

在这里插入图片描述

SELECT extract(year from hire_date), department_id, COUNT(*)
FROM employees
GROUP BY 1,2;

在这里插入图片描述

SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id
HAVING COUNT(*)>10;
-- 对分组后的数据进行二次统计用having,不能用where

在这里插入图片描述

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

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

相关文章

性能测试支持结果抽样分析,执行机新增运行状态和CPU监控,MeterSphere开源持续测试平台v2.10.8 LTS版本发布

2023年10月30日&#xff0c;MeterSphere一站式开源持续测试平台正式发布v2.10.8 LTS版本。自2023年5月发布v2.10 LTS版本后&#xff0c;MeterSphere开源项目组坚持发布小版本&#xff0c;持续进行问题的修复更新&#xff0c;并针对部分功能进行优化。 本次发布的MeterSphere v…

C/C++ 作业题笔记

请计算下列代码运行结果 解析:

获取服务器或域控登录日志工具

SharpUserIP 功能简介 服务器登陆日志 (需管理员权限) 在域控或远程提取登录日志&#xff0c;快速获取域用户对应的 IP 地址 项目地址&#xff1a;https://github.com/lele8/SharpUserIP 使用说明 ___ _ _ _ ___ ___/ __| |_ __ _ _ _ _ _…

docker解决oracle中ORA-12514和ORA-03113问题

ORA-12514&#xff1a;TNS&#xff1a;监听程序当前无法识别连接描述符中请求的服务; 1、进入docke容器 docker exec -it 容器id bash 2、找到并修改listener.ora文件 查看oracle的位置 命令&#xff1a;cat /etc/profile 这是listener.ora文件的位置 /home/oracle/app/oracl…

输入输出缓冲区的作用,c++io流介绍,转换运算符(operator+类型)

目录 引入 输入输出缓冲区的作用 流 cio流 介绍 为什么要把流进行面向对象的设计呢? 原理 使用的注意点 istream类型对象转换为逻辑条件判断值 引入 转换运算符 文件io 介绍 示例 注意点 说明 利用字节流特性 字符串io 介绍 istringstream ostringstrea…

七、【图像添加水印】

文章目录 一、制作水印1、先新建图层2、新建文字图层并调好水印文字的大小与角度3、添加图层样式4、添加定义图案 二、添加水印 一、制作水印 1、先新建图层 2、新建文字图层并调好水印文字的大小与角度 3、添加图层样式 1、打开“描边” 2、选择“颜色” 4、添加定义图案 二…

【AI视野·今日NLP 自然语言处理论文速览 第六十期】Mon, 23 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Mon, 23 Oct 2023 (showing first 100 of 108 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Exploring Linguistic Probes for Morphological Generalization Autho…

电商数据采集抓取封装数据、淘宝、天猫、京东等平台商品详情API接口参数详解

电商数据采集抓取数据、淘宝、天猫、京东等平台的电商数据抓取&#xff0c;网页爬虫、采集网站数据、网页数据采集软件、python爬虫、HTM网页提取、APP数据抓包、APP数据采集、一站式网站采集技术、BI数据的数据分析、数据标注等成为大数据发展中的热门技术关键词。那么电商数据…

Android开发笔记(三)—Activity篇

活动组件Activity 启动和结束生命周期启动模式信息传递Intent显式Intent隐式Intent 向下一个Activity发送数据向上一个Activity返回数据 附加信息利用资源文件配置字符串利用元数据传递配置信息给应用页面注册快捷方式 启动和结束 &#xff08;1&#xff09;从当前页面跳到新页…

数据库软考知识

分布式数据库透明性 封锁 加上共享锁之后只能加共享锁&#xff0c;加上排他锁之后&#xff0c;啥锁都不能加。 分布式数据库特性 伪传递定理 SQL函数定义&#xff0c;有点冷 来了奥&#xff0c;更冷 存储过程 很重要&#xff0c;下午第二大题也是数据库

解决QtCreator11及更高版本使用JDK17时无法生成APK

1.修改gradle文件&#xff0c;增加如下内容&#xff1a; DEFAULT_JVM_OPTS"-Xmx5120m --add-exportsjava.base/sun.nio.chALL-UNNAMED \ --add-opensjava.base/java.langALL-UNNAMED \ --add-opensjava.base/java.lang.reflectALL-UNNAMED \ --add-opensjava.base/java.io…

用户优先:确保微信小程序手机号授权在新旧版本中无缝衔接

&#x1f52d; 嗨&#xff0c;您好 &#x1f44b; 我是 vnjohn&#xff0c;在互联网企业担任 Java 开发&#xff0c;CSDN 优质创作者 &#x1f4d6; 推荐专栏&#xff1a;Spring、MySQL、Nacos、Java&#xff0c;后续其他专栏会持续优化更新迭代 &#x1f332;文章所在专栏&…

SQL注入——二次注入漏洞

文章目录 SQL注入——二次注入漏洞1. 二次注入原理2. 二次注入需要具备的两个条件3. 二次注入实例4. 总结 SQL注入——二次注入漏洞 1. 二次注入原理 在第一次插入恶意数据的时候&#xff0c;只是对其中的特殊字符进行了转义&#xff0c;在写入数据库的时候还是原来的字符&am…

9.多线程之定时器与线程池

定时器与线程池 文章目录 定时器与线程池1. 定时器1.1 定时器的工作原理1.2 定时器的使用2.3 实现定时器 2. 线程池2.1 线程池存的优点2.2 线程池的使用2.3 线程池的原理2.3.1 工厂模式2.3.2 ThreadPoolExecutor类 2.4 实现线程池 1. 定时器 定时器也是软件开发中的一个重要组件…

【GEE】Google Earth Engine(GEE)注册详细教程无需教育邮箱

这个专栏真的是纠结了很久&#xff0c;不知道到底要不要分享自己在学习GEE的时候的一些经验和代码。因为本人在日常中使用Python和ENVI多点&#xff0c;虽然GEE也会用但不至于频繁使用&#xff0c;同时针对GEE其实官网给出了很多接口的使用方法&#xff0c;国内外也有很多人分享…

编译正点原子LINUXB报错make: arm-linux-gnueabihf-gcc:命令未找到

编译正点原子LINUXB报错make: arm-linux-gnueabihf-gcc&#xff1a;命令未找到 1.报错内容2.解决办法3./bin/sh: 1: lzop: not found4.编译成功 1.报错内容 make: arm-linux-gnueabihf-gcc&#xff1a;命令未找到CHK include/config/kernel.releaseCHK include/genera…

全面提升企业管理效率,助力企业持续增长——三叠云进销存解决方案

企业在生产经营过程中&#xff0c;高效的进销存管理是企业成功的关键因素之一。它不仅能够优化企业的资金流动&#xff0c;避免库存积压和断货现象&#xff0c;提高客户满意度&#xff0c;而且可以优化供应链&#xff0c;减少运营成本&#xff0c;提高生产和物流效率。三叠云正…

C语言 数据的存储2

如图所示代码&#xff1a; 代码运行结果为&#xff1a; 这是什么原因呢&#xff1f; 解析: 因为unsigned int是无符号整形&#xff0c;而我们的for循环的条件是 所以我们会一直循环下去&#xff0c;至于我们的结果为什么会是 一个unsigned int类型是4个字节&#xff0c;38位&am…

论文范文:论基于架构的软件设计方法及应用

注意:范文只适用于帮助大家打开写作思路,并不能作为素材直接用于平时练习、考试中。考试中直接使用范文的素材,会有被认定为雷同卷的风险。 摘要: 2022年4月,本人所在单位计划研发生态集装箱管理控制平台项目。该平台主要用于与现有公司生态集装箱产品做对接,达到远程控制…

【AI视野·今日Robot 机器人论文速览 第六十期】Mon, 23 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Mon, 23 Oct 2023 Totally 26 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers A Review of Prospects and Opportunities in Disassembly with Human-Robot Collaboration Authors Meng Lun Lee, Xiao Lian…