PostgreSQL数据库的基本查询操作

 更新时间:2022年04月11日 14:34:41   作者:_jym  
这篇文章采用详细的代码示例为大家介绍了PostgreSQL数据库的基本查询操作使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪

查询列

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

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

从Product表中,查询三列。

SELECT product_id, product_name, purchase_price
FROM Product;

在这里插入图片描述

查询所有列,格式:

SELECT *FROM <表名>;

星号代表全部列。

SELECT *FROM Product;

在这里插入图片描述

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

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

在这里插入图片描述

去除重复数据DISTINCT

SELECT DISTINCT product_type
FROM Product;

在这里插入图片描述

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

在这里插入图片描述

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

SELECT DISTINCT product_type, regist_date
FROM Product;

在这里插入图片描述

WHERE子句

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

格式:

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

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

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

在这里插入图片描述

也可以按下面这个方式

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

在这里插入图片描述

注释

一行注释:

-- 本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;

在这里插入图片描述

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

比较运算符

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

SELECT product_name, product_type
  FROM Product
 WHERE sale_price = 500;

在这里插入图片描述

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

在这里插入图片描述

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

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

SELECT product_name, purchase_price
  FROM Product
 WHERE purchase_price IS NULL;

在这里插入图片描述

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

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

在这里插入图片描述

逻辑运算符

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

下面等价于WHERE sale_price < 1000;

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

在这里插入图片描述

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;

在这里插入图片描述

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 = '办公用品';

在这里插入图片描述

要优先执行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');

在这里插入图片描述

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

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

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 数据库查询操作的资料请关注脚本之家其它相关文章!

相关文章

  • pgsql之create user与create role的区别介绍

    pgsql之create user与create role的区别介绍

    这篇文章主要介绍了pgsql之create user与create role的区别介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 详解PostgreSQL 14.4安装使用及一些安装的异常问题

    详解PostgreSQL 14.4安装使用及一些安装的异常问题

    这篇文章主要介绍了PostgreSQL 14.4的安装以及使用以及一些安装的异常,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • PostgreSQL的generate_series()函数的用法说明

    PostgreSQL的generate_series()函数的用法说明

    这篇文章主要介绍了PostgreSQL的generate_series()函数的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL如何杀死被锁死的进程问题

    PostgreSQL如何杀死被锁死的进程问题

    文章总结:文章主要介绍了如何使用PostgreSQL提供的pg_cancel_backend()和pg_terminate_backend()函数来解决数据库表被锁住的问题,以及如何查询哪些表、哪些进程被锁住了
    2024-12-12
  • PostgreSQL:string_agg 多列值聚合成一列的操作示例

    PostgreSQL:string_agg 多列值聚合成一列的操作示例

    PostgreSQL中的STRING_AGG()函数是一个聚合函数,用于连接字符串列表并在字符串之间放置分隔符,这篇文章主要介绍了PostgreSQL:string_agg多列值聚合成一列,需要的朋友可以参考下
    2023-08-08
  • 15个postgresql数据库实用命令分享

    15个postgresql数据库实用命令分享

    这篇文章主要介绍了15个实用的postgresql数据库命令分享,都是一些技巧性的postgresql命令,需要的朋友可以参考下
    2014-07-07
  • postgresql 中的时间处理小技巧(推荐)

    postgresql 中的时间处理小技巧(推荐)

    这篇文章主要介绍了postgresql 中的时间处理小技巧(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • postgresql如何查询重复计数及去重查询

    postgresql如何查询重复计数及去重查询

    这篇文章主要介绍了postgresql如何查询重复计数及去重查询问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • postgresql修改完端口后直接psql连接数据库报错的解决

    postgresql修改完端口后直接psql连接数据库报错的解决

    这篇文章主要介绍了postgresql修改完端口后直接psql连接数据库报错的解决,具有很好的参考价值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL数据库备份还原全攻略

    PostgreSQL数据库备份还原全攻略

    本文主要介绍逻辑备份和连续归档方式的备份及还原,文件系统级备份由于比较简单,这里不在赘述,以下操作使用的数据库版本为PostgreSQL 12.5,不同的数据库版本在进行连续归档操作时会有细微差异,需要的朋友可以参考下
    2024-04-04

最新评论