PostgreSQL数据库的基本查询操作
查询所有列,格式:
SELECT *FROM 表名星号代表全部列。
SELECT *FROM Product;可以用AS关键字给列设定别名。
去除重复数据DISTINCT SELECT DISTINCT product_typeFROM Product;
这里的去除并不是真的就把重复的数据给删了,只是展示出来的数据是不重复的。
也可以在多列之前使用DISTINCT。
SELECT DISTINCT product_type, regist_dateFROM Product; WHERE子句
SELECT语句使用WHERE子句,查询出符合指定条件的数据。
格式:
SELECT 列名 ,FROM 表名
WHERE 条件表达式
例子:选取product_type = 衣服 的商品。
SELECT product_name, product_typeFROM Product
WHERE product_type = 衣服
也可以按下面这个方式
SELECT product_nameFROM 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_typeFROM Product
WHERE sale_price = 500; SELECT product_name, product_type
FROM Product
WHERE sale_price 500;
比较运算符,可以对几乎所有数据类型进行比较。
对字符串比较的时候,按照字典顺序比较。比如 10 比 2 小。
SELECT product_name, product_type, regist_dateFROM Product
WHERE regist_date 2222-06-01
WHERE子句的条件表达式中,可用计算表达式。
SELECT product_name, sale_price, purchase_priceFROM Product
WHERE sale_price purchase_price = 500;
不能对NULL使用比较运算符。
如果选取NULL的记录,使用IS NULL运算符。
SELECT product_name, purchase_priceFROM Product
WHERE purchase_price IS NULL;
选取不是NULL的记录,使用IS NOT NULL运算符。
SELECT product_name, purchase_priceFROM Product
WHERE purchase_price IS NOT NULL; 逻辑运算符
NOT运算符:用于否定某一条件。
下面等价于WHERE sale_price 1000;
SELECT product_name, product_type, sale_priceFROM Product
WHERE NOT sale_price = 1000;
AND运算符:
SELECT product_name, purchase_priceFROM Product
WHERE product_type = 厨房用具
AND sale_price = 3000;
OR运算符:
SELECT product_name, purchase_priceFROM Product
WHERE product_type = 厨房用具
OR sale_price = 3000;
AND运算符的优先级高于OR运算符,如果想要选出product_type = 办公用品 ,而且登记日期为2222-02-22或2222-06-22,按照下面这个方式是不行的。
SELECT product_name, product_type, regist_dateFROM Product
WHERE regist_date = 2222-02-22 OR regist_date = 2222-06-22
AND product_type = 办公用品
要优先执行OR运算符可以使用括号,如下所示。
SELECT product_name, product_type, regist_dateFROM Product
WHERE product_type = 办公用品
AND ( regist_date = 2222-02-22
OR regist_date = 2222-06-22 );
比较运算符会把运算结果以真值形式返回,结果成立为真,不成立为假。
可以通过创建真值表,理解一些复杂的条件。
SELECT product_name, purchase_priceFROM 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中逻辑运算被称为三值逻辑。
SELECT语句,用于从表中选取数据。
格式:
FROM 表名
从Product表中,查询三列。
SELECT product_id, product_name, purchase_priceFROM Product;
查询所有列,格式:
SELECT *FROM 表名星号代表全部列。
SELECT *FROM Product;可以用AS关键字给列设定别名。
去除重复数据DISTINCT SELECT DISTINCT product_typeFROM Product;
这里的去除并不是真的就把重复的数据给删了,只是展示出来的数据是不重复的。
也可以在多列之前使用DISTINCT。
SELECT DISTINCT product_type, regist_dateFROM Product; WHERE子句
SELECT语句使用WHERE子句,查询出符合指定条件的数据。
格式:
SELECT 列名 ,FROM 表名
WHERE 条件表达式
例子:选取product_type = 衣服 的商品。
SELECT product_name, product_typeFROM Product
WHERE product_type = 衣服
也可以按下面这个方式
SELECT product_nameFROM 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_typeFROM Product
WHERE sale_price = 500; SELECT product_name, product_type
FROM Product
WHERE sale_price 500;
比较运算符,可以对几乎所有数据类型进行比较。
对字符串比较的时候,按照字典顺序比较。比如 10 比 2 小。
SELECT product_name, product_type, regist_dateFROM Product
WHERE regist_date 2222-06-01
WHERE子句的条件表达式中,可用计算表达式。
SELECT product_name, sale_price, purchase_priceFROM Product
WHERE sale_price purchase_price = 500;
不能对NULL使用比较运算符。
如果选取NULL的记录,使用IS NULL运算符。
SELECT product_name, purchase_priceFROM Product
WHERE purchase_price IS NULL;
选取不是NULL的记录,使用IS NOT NULL运算符。
SELECT product_name, purchase_priceFROM Product
WHERE purchase_price IS NOT NULL; 逻辑运算符
NOT运算符:用于否定某一条件。
下面等价于WHERE sale_price 1000;
SELECT product_name, product_type, sale_priceFROM Product
WHERE NOT sale_price = 1000;
AND运算符:
SELECT product_name, purchase_priceFROM Product
WHERE product_type = 厨房用具
AND sale_price = 3000;
OR运算符:
SELECT product_name, purchase_priceFROM Product
WHERE product_type = 厨房用具
OR sale_price = 3000;
AND运算符的优先级高于OR运算符,如果想要选出product_type = 办公用品 ,而且登记日期为2222-02-22或2222-06-22,按照下面这个方式是不行的。
SELECT product_name, product_type, regist_dateFROM Product
WHERE regist_date = 2222-02-22 OR regist_date = 2222-06-22
AND product_type = 办公用品
要优先执行OR运算符可以使用括号,如下所示。
SELECT product_name, product_type, regist_dateFROM Product
WHERE product_type = 办公用品
AND ( regist_date = 2222-02-22
OR regist_date = 2222-06-22 );
比较运算符会把运算结果以真值形式返回,结果成立为真,不成立为假。
可以通过创建真值表,理解一些复杂的条件。
SELECT product_name, purchase_priceFROM 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 数据库查询操作的资料请关注其它相关文章!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 PostgreSQL数据库的基本查询操作
相关文章
- PostgreSQL 数据库基础 之 Sequence序列的使用介绍
- postgresql 数据库中 to_char()常用操作介绍
- postgresql 数据库基础 之 存储函数调用变量的几种不通方法
- postgreSQL 数据库基础 row_number() 与distinct用法说明
- postgresql 数据库基础 关于like%xxx% 全模糊匹配 的优化操作
- Linux下创建Postgresql数据库的方法步骤
- postgresql 数据库中数据的导入导出(简单操作+示例)详解数据库
- 查询一个PostgreSQL表详解数据库
- PostgreSQL 安装详解数据库
- 管理精通Postgresql权限管理,实现数据安全(postgresql权限)
- PostgreSQL数据库同步实践(postgresql同步)
- 对比对比深度:PostgreSQL与Oracle之间的差异(postgresql和oracle)
- 卸载PostgreSQL:一步一步的过程(卸载postgresql)
- 使用PostgreSQL精通数据库管理(postgresql教程)
- PostgreSQL 接口:连接数据库的必备工具(postgresql接口)
- PostgreSQL接口:轻松连接数据库(postgresql接口)
- 权限管理PostgreSQL访问权限安全控制管理(postgresql访问)
- 如何顺利升级PostgreSQL数据库?(升级postgresql)
- 加入PostgreSQL社区,实现开发技术的进步!(postgresql社区)
- 如何将MSSQL连接到PostgreSQL数据库(mssql连pg数据库)
- PostgreSQL实例实战:了解数据库管理系统(postgresql实例)
- 优化提升数据库性能:PostgreSQL优化指南(postgresql性能)