PostgreSQL数据库的基本查询操作(post litter)居然可以这样

随心笔谈12个月前发布 admin
90 0



目录查询列去除重复数据DISTINCTWHERE子句注释算术运算符比较运算符逻辑运算符

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;

在这里插入图片描述

SELECT DISTINCT product_type
FROM Product;

在这里插入图片描述

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

在这里插入图片描述

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

SELECT DISTINCT product_type, regist_date
FROM Product;

在这里插入图片描述

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 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 实现查询今天,昨天的数据,一个月之内的数据postgresql 实现查询出的数据为空,则设为0的操作postgresql数据库根据年月查询出本月的所有数据操作PGSQL查询最近N天的数据及SQL语句实现替换字段内容

© 版权声明

相关文章