【PostgreSQL 17】3 查询
简单查询
别名
SELECT
first_name AS "名字",
last_name AS "姓氏"
FROM
employees
;
去重
SELECT
DISTINCT department_id, job_id
FROM
employees
;
对组合进行去重,而不只是department_id

无FROM快速查询
SELECT
1+1 AS "结果",
version() AS "版本"
;

利用查询条件过滤数据
BETWEEN
SELECT
*
FROM
employees
WHERE
hire_date <= '2005-01-01'
AND
salary BETWEEN 10000 AND 12000
;
IN
SELECT
*
FROM
employees
WHERE
salary IN (10000, 11000)
;

字符串的模糊匹配 LIKE
ILIKE 不区分大小写
% 任意多个字符
SELECT
first_name
FROM
employees
WHERE
first_name LIKE 'S%'
OR
first_name LIKE '%s'
;
_ 任意一个字符
SELECT
's ' LIKE 's_'
;

\转义字符
SELECT
*
FROM
employees
WHERE
first_name LIKE 'S\%'
-- first_name LIKE 'S#%' ESCAPE '#'
;
空值判断
IS NULL可以简写为ISNULL,
IS NOT NULL 可以简写为NOTNULL
SELECT
*
FROM
employees
WHERE
manager_id IS NULL
;
IS [NOT] DISTINCT FROM 运算符支持空值比较
SELECT
1 IS DISTINCT FROM null
;

复杂查询
AND
SELECT
*
FROM
employees
WHERE
first_name = 'Steven'
AND
last_name = 'King'
;
OR
SELECT
*
FROM
employees
WHERE
first_name = 'Steven'
OR
last_name = 'King'
;
注意点
OR 短路运算
1/0没有运算,所以不会报错。
SELECT
1=1
OR
1/0=1
;
AND 优先级更高
SELECT
*
FROM
employees
WHERE
salary = 10000
OR
salary = 12000
AND
department_id = 80
;

排序显示
默认为升序 ASC
降序 DESC
null在排序时视为最大值
SELECT
employee_id, first_name, last_name, hire_date, salary
FROM
employees
ORDER BY
first_name DESC
;

也可以用查询字段中的字段序号来排序
SELECT
employee_id, first_name, last_name, hire_date, salary
FROM
employees
ORDER BY
2 DESC
;
使用NULLS FIRST将NULL排到最前面
SELECT
employee_id, manager_id
FROM
employees
ORDER BY
manager_id NULLS FIRST
;
限制返回结果的数量
SELECT
employee_id, manager_id
FROM
employees
FETCH FIRST 10 ROWS ONLY
;
SELECT
employee_id, manager_id
FROM
employees
LIMIT 10
;
SELECT
employee_id, manager_id
FROM
employees
FETCH FIRST 10 ROWS WITH TIES -- 和最后值相同的行都会返回
;
分页查询 OFFSET
查询从第11个开始的10个
SELECT
employee_id, manager_id
FROM
employees
OFFSET 10 ROWS
FETCH FIRST 10 ROWS ONLY
;
SELECT
employee_id, manager_id
FROM
employees
LIMIT 10
OFFSET 10
;
参考资料
[1] 不剪发的Tony老师 PostgreSQL开发指南 第05节~第08节
[2] 不剪发的Tony老师 PostgreSQL开发指南 第09节~第11节
【PostgreSQL 17】3 查询的更多相关文章
- PostgreSQL的权限查询
查看哪些用户对表sns_log_member_b_aciton有哪些权限: sns_log=> \z sns_log_member_b_aciton Access privileges Sche ...
- postgreSQL中跨库查询在windows下的实现方法
以下是在postgreSQL 8.1版本中的实践,其他版本类似: 1.将C:\Program Files\PostgreSQL\8.1\share\contrib下的dblink.sql复制到C:\P ...
- PostgreSQL中如何查询在当前的哪个数据库中
[pgsql@localhost bin]$ ./psql -d tester psql () Type "help" for help. tester=# select curr ...
- JavaEE(17) - JPA查询API和JPQL
1. 获取查询结果 2. JPQL函数和JPQL表达式 #1. 使用from子句 #2. 查询部分属性 #3. 查询中使用构造器 3. JPQL的关联查询和多态查询 #1. 多态查询 #2. 隐式连接 ...
- postgresql大数据查询加索引和不加索引耗时总结
1.创建测试表 CREATE TABLE big_data( id character varying(50) NOT NULL, name character varying(50), dat ...
- PostgreSQL函数:查询包含时间分区字段的表,并更新dt分区为最新分区
一.需求 1.背景 提出新需求后,需要在www环境下进行验收.故需要将www环境脚本每天正常调度 但由于客户库无法连接,ods数据无法每日取,且连不上客户库任务直接报错,不会跑ods之后的任务 故需要 ...
- Postgresql 或GreenPlum 查询结果部分字段转json格式并保留字段名(row_to_json)
-- 一些搜索结果给出 部分字段转json保留原字段的方式是用子查询select row_to_json(t) from ( select id, text from words ) t 但是如果子查 ...
- postgresql jsonb类型查询
select * from (select * from ud_order where user_id=10 and status=2unionselect * from ud_order where ...
- Oracle PLSQL Demo - 17.游标查询个别字段(非整表)
declare Type ref_cur_variable IS REF cursor; cur_variable ref_cur_variable; v_empno scott.emp.empno% ...
- Postgresql 直接在查询结果中生成唯一ID
不需要排序 select (row_number() over()) as id from generate_series(1,100)1根据指定的字段排序 select (row_number() ...
随机推荐
- hot100之栈
有效的括号(020) 跳过 最小栈(155) class MinStack { private final Deque<int[]> stack = new ArrayDeque<& ...
- Idea 2021.2 破解激活
官网下载安装 官网 启动软件->试用 (Evaluate for free) -> Evaluate,进入欢迎界面(没有试用按钮见下面常见问题) 插件(Plugins)->齿轮按钮- ...
- Kong入门学习实践(6)HTTPS与TCP流代理
最近在学习Kong网关,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看.由于我司会直接使用Kong企业版,学习过程中我会使用Kong开源版. 本篇,我们学习快速配置 ...
- 西门子成都工厂的DevSecOps实践
大家好,我是Edison. 4月15日,成都.NET线下技术沙龙活动中,我分享了一个主题<西门子成都工厂的DevSecOps实践>,向大家介绍了我们为什么要做DevSecOps 以及 我们 ...
- 一个C#二维码图片识别
https://www.cnblogs.com/xuezhizhang/p/8968515.html 关键是这个 ThoughtWorks.QRCode.Codec; NuGet直接下载就可以了 // ...
- java日常问题和技巧2
整理到一个工具类里面,用到了spring和alibaba.fastjson package common; import java.text.ParseException; import java.t ...
- SciTech-Mathmatics-Probability+Statistics:Quantifing Uncertainty_统计数据分析:朱怀球PKU-3-Sampling Theory 统计抽样理论基础
Statistics & Data Analysis - Zhu Huaiqiu, Peking University <统计与数据分析>, 朱怀球, 北京大学 7 Steps § ...
- linux安装ActiveMQ,并配置开机自启--九五小庞
1.解压activemq压缩包,重命名文件夹 # cd /usr/local# tar -zxvf apache-activemq-5.11.1-bin.tar.gz# mv apache-activ ...
- win11正式版如何关闭快速启动的问题
有不少雨林木风官网的小伙伴,都可能不知道什么是快速启动.其实,它是windows11正式版里面的快速启动功能,是让计算机不真正关闭并保存某些数据,以便用户下次启动时能够快速关闭计算机系统.那么有小伙伴 ...
- Unity编辑器UI
如果使用的是2020及其之前的版本,只能使用unity老版本进行编辑器UI开发 https://blog.51cto.com/u_15296378/4969538?b=totalstatisticht ...