PostgreSQL数据库去除重复数据和运算符的基本查询操作


Posted in PostgreSQL onApril 12, 2022

查询列

SELECT语句,用于从表中选取数据。
格式:

SELECT <列名>,...
FROM <表名>;

从Product表中,查询三列。

SELECT product_id, product_name, purchase_price
FROM Product;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

查询所有列,格式:

SELECT *FROM <表名>;

星号代表全部列。

SELECT *FROM Product;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

可以用AS关键字给列设定别名。

SELECT product_id     AS "商品编号",
       product_name   AS "商品名称",
       purchase_price AS "进货单价"
FROM Product;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

去除重复数据DISTINCT

SELECT DISTINCT product_type
FROM Product;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

这里的去除并不是真的就把重复的数据给删了,只是展示出来的数据是不重复的。

PostgreSQL数据库去除重复数据和运算符的基本查询操作

也可以在多列之前使用DISTINCT。

SELECT DISTINCT product_type, regist_date
FROM Product;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

WHERE子句

SELECT语句使用WHERE子句,查询出符合指定条件的数据。

格式:

SELECT <列名>,...
FROM <表名>
WHERE <条件表达式>;

例子:选取product_type = '衣服’的商品。

SELECT product_name, product_type
FROM Product
WHERE product_type = '衣服';

PostgreSQL数据库去除重复数据和运算符的基本查询操作

也可以按下面这个方式

SELECT product_name
FROM Product
WHERE product_type = '衣服';

PostgreSQL数据库去除重复数据和运算符的基本查询操作

注释

一行注释:

-- 本SELECT语句会从结果中删除重复行。
SELECT DISTINCT product_id, purchase_price
  FROM Product;

多行注释:

/* 本SELECT语句,
   会从结果中删除重复行。*/
SELECT DISTINCT product_id, purchase_price
  FROM Product;

算术运算符

算术运算符:+、-、*、/。

运算表达式中也可以用括号。

SELECT product_name, sale_price,
       sale_price * 2 AS “sale_price_x2"
  FROM Product;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

含有NULL的运算,结果都是NULL。

比较运算符

=表示等于、<>表示不等于、>=、<=、>、<。

SELECT product_name, product_type
  FROM Product
 WHERE sale_price = 500;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

SELECT product_name, product_type
  FROM Product
 WHERE sale_price <> 500;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

比较运算符,可以对几乎所有数据类型进行比较。

对字符串比较的时候,按照字典顺序比较。比如‘10’比‘2’小。

SELECT product_name, product_type, regist_date
  FROM Product
 WHERE regist_date < '2222-06-01';

PostgreSQL数据库去除重复数据和运算符的基本查询操作

WHERE子句的条件表达式中,可用计算表达式。

SELECT product_name, sale_price, purchase_price
  FROM Product
 WHERE sale_price - purchase_price >= 500;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

不能对NULL使用比较运算符。

如果选取NULL的记录,使用IS NULL运算符。

SELECT product_name, purchase_price
  FROM Product
 WHERE purchase_price IS NULL;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

选取不是NULL的记录,使用IS NOT NULL运算符。

SELECT product_name, purchase_price
  FROM Product
 WHERE purchase_price IS NOT NULL;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

逻辑运算符

NOT运算符:用于否定某一条件。

下面等价于WHERE sale_price < 1000;

SELECT product_name, product_type, sale_price
  FROM Product
 WHERE NOT sale_price >= 1000;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

AND运算符:

SELECT product_name, purchase_price
  FROM Product
 WHERE product_type = '厨房用具'
   AND sale_price >= 3000;

OR运算符:

SELECT product_name, purchase_price
  FROM Product
 WHERE product_type = '厨房用具'
    OR sale_price >= 3000;

PostgreSQL数据库去除重复数据和运算符的基本查询操作

AND运算符的优先级高于OR运算符,如果想要选出product_type = ‘办公用品’,而且登记日期为2222-02-22或2222-06-22,按照下面这个方式是不行的。

SELECT product_name, product_type, regist_date
  FROM Product
 WHERE regist_date = '2222-02-22' OR regist_date = '2222-06-22'
   AND product_type = '办公用品';

PostgreSQL数据库去除重复数据和运算符的基本查询操作

要优先执行OR运算符可以使用括号,如下所示。

SELECT product_name, product_type, regist_date
  FROM Product
 WHERE product_type = '办公用品'
   AND (   regist_date = '2222-02-22'
        OR regist_date = '2222-06-22');

PostgreSQL数据库去除重复数据和运算符的基本查询操作

比较运算符会把运算结果以真值形式返回,结果成立为真,不成立为假。

可以通过创建真值表,理解一些复杂的条件。

SELECT product_name, purchase_price
  FROM Product
 WHERE purchase_price = 2800;
SELECT product_name, purchase_price
  FROM Product
 WHERE NOT purchase_price = 2800;
SELECT product_name, purchase_price
  FROM Product

经观察发现,SQL中真值还有一种,叫UNKNOWN,既不真也不假,称之为不确定。

这是因为数据含有NULL。

因此,SQL中逻辑运算被称为三值逻辑。

PostgreSQL数据库去除重复数据和运算符的基本查询操作

以上就是PostgreSQL数据库的基本查询操作的详细内容

PostgreSQL 相关文章推荐
PostgreSQL存储过程实用脚本(二):创建函数入门
Apr 05 PostgreSQL
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
Apr 22 PostgreSQL
Centos环境下Postgresql 安装配置及环境变量配置技巧
May 18 PostgreSQL
如何使用PostgreSQL进行中文全文检索
May 27 PostgreSQL
PostgreSQL解析URL的方法
Aug 02 PostgreSQL
PostGIS的安装与入门使用指南
Jan 18 PostgreSQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
Jan 18 PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
Apr 12 PostgreSQL
PostgreSQL基于pgrouting的路径规划处理方法
Apr 18 PostgreSQL
PostgreSQL常用字符串分割函数整理汇总
Jul 07 PostgreSQL
PostgreSQL聚合函数介绍以及分组和排序
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
PostgreSQL数据库创建并使用视图以及子查询
PostgreSQL并行计算算法及参数强制并行度设置方法
Apr 07 #PostgreSQL
PostgreSQL并行计算算法及参数强制并行度设置方法
Apr 06 #PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 #PostgreSQL
Oracle配置dblink访问PostgreSQL的操作方法
You might like
安装APACHE
2007/01/15 PHP
php生成zip压缩文件的方法详解
2013/06/09 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
js setTimeout 参数传递使用介绍
2013/08/13 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
Python在线运行代码助手
2016/07/15 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
Django保护敏感信息的方法示例
2019/05/09 Python
python Tkinter的图片刷新实例
2019/06/14 Python
Python笔记之代理模式
2019/11/20 Python
什么是python的自省
2020/06/21 Python
Python调用JavaScript代码的方法
2020/10/27 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
行政专员的岗位职责
2014/03/10 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
放假通知
2015/04/14 职场文书
兴趣班停课通知
2015/04/24 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书