PostgreSQL数据库的基本查询操作
查询列
SELECT语句,用于从表中选取数据。
格式:
FROM <表名>;
从Product表中,查询三列。
FROM Product;
查询所有列,格式:
星号代表全部列。
可以用AS关键字给列设定别名。
去除重复数据DISTINCT
FROM Product;
这里的去除并不是真的就把重复的数据给删了,只是展示出来的数据是不重复的。
也可以在多列之前使用DISTINCT。
FROM Product;
WHERE子句
SELECT语句使用WHERE子句,查询出符合指定条件的数据。
格式:
FROM <表名>
WHERE <条件表达式>;
例子:选取product_type = '衣服’的商品。
FROM Product
WHERE product_type = ‘衣服’;
也可以按下面这个方式
FROM Product
WHERE product_type = ‘衣服’;
注释
一行注释:
SELECT DISTINCT product_id, purchase_price
FROM Product;
多行注释:
会从结果中删除重复行。*/
SELECT DISTINCT product_id, purchase_price
FROM Product;
算术运算符
算术运算符:+、-、*、/。
运算表达式中也可以用括号。
sale_price * 2 AS “sale_price_x2″
FROM Product;
含有NULL的运算,结果都是NULL。
比较运算符
=表示等于、<>表示不等于、>=、<=、>、<。
FROM Product
WHERE sale_price = 500;
FROM Product
WHERE sale_price <> 500;
比较运算符,可以对几乎所有数据类型进行比较。
对字符串比较的时候,按照字典顺序比较。比如‘10’比‘2’小。
FROM Product
WHERE regist_date < ‘2222-06-01’;
WHERE子句的条件表达式中,可用计算表达式。
FROM Product
WHERE sale_price – purchase_price >= 500;
不能对NULL使用比较运算符。
如果选取NULL的记录,使用IS NULL运算符。
FROM Product
WHERE purchase_price IS NULL;
选取不是NULL的记录,使用IS NOT NULL运算符。
FROM Product
WHERE purchase_price IS NOT NULL;
逻辑运算符
NOT运算符:用于否定某一条件。
下面等价于WHERE sale_price < 1000;
FROM Product
WHERE NOT sale_price >= 1000;
AND运算符:
FROM Product
WHERE product_type = ‘厨房用具’
AND sale_price >= 3000;
OR运算符:
FROM Product
WHERE product_type = ‘厨房用具’
OR sale_price >= 3000;
AND运算符的优先级高于OR运算符,如果想要选出product_type = ‘办公用品’,而且登记日期为2222-02-22或2222-06-22,按照下面这个方式是不行的。
FROM Product
WHERE regist_date = ‘2222-02-22’ OR regist_date = ‘2222-06-22’
AND product_type = ‘办公用品’;
要优先执行OR运算符可以使用括号,如下所示。
FROM Product
WHERE product_type = ‘办公用品’
AND ( regist_date = ‘2222-02-22’
OR regist_date = ‘2222-06-22’);
比较运算符会把运算结果以真值形式返回,结果成立为真,不成立为假。
可以通过创建真值表,理解一些复杂的条件。
FROM Product
WHERE purchase_price = 2800;
FROM Product
WHERE NOT purchase_price = 2800;
FROM Product
经观察发现,SQL中真值还有一种,叫UNKNOWN,既不真也不假,称之为不确定。
这是因为数据含有NULL。
因此,SQL中逻辑运算被称为三值逻辑。
查询列
SELECT语句,用于从表中选取数据。
格式:
FROM <表名>;
从Product表中,查询三列。
FROM Product;
查询所有列,格式:
星号代表全部列。
可以用AS关键字给列设定别名。
去除重复数据DISTINCT
FROM Product;
这里的去除并不是真的就把重复的数据给删了,只是展示出来的数据是不重复的。
也可以在多列之前使用DISTINCT。
FROM Product;
WHERE子句
SELECT语句使用WHERE子句,查询出符合指定条件的数据。
格式:
FROM <表名>
WHERE <条件表达式>;
例子:选取product_type = '衣服’的商品。
FROM Product
WHERE product_type = ‘衣服’;
也可以按下面这个方式
FROM Product
WHERE product_type = ‘衣服’;
注释
一行注释:
SELECT DISTINCT product_id, purchase_price
FROM Product;
多行注释:
会从结果中删除重复行。*/
SELECT DISTINCT product_id, purchase_price
FROM Product;
算术运算符
算术运算符:+、-、*、/。
运算表达式中也可以用括号。
sale_price * 2 AS “sale_price_x2″
FROM Product;
含有NULL的运算,结果都是NULL。
比较运算符
=表示等于、<>表示不等于、>=、<=、>、<。
FROM Product
WHERE sale_price = 500;
FROM Product
WHERE sale_price <> 500;
比较运算符,可以对几乎所有数据类型进行比较。
对字符串比较的时候,按照字典顺序比较。比如‘10’比‘2’小。
FROM Product
WHERE regist_date < ‘2222-06-01’;
WHERE子句的条件表达式中,可用计算表达式。
FROM Product
WHERE sale_price – purchase_price >= 500;
不能对NULL使用比较运算符。
如果选取NULL的记录,使用IS NULL运算符。
FROM Product
WHERE purchase_price IS NULL;
选取不是NULL的记录,使用IS NOT NULL运算符。
FROM Product
WHERE purchase_price IS NOT NULL;
逻辑运算符
NOT运算符:用于否定某一条件。
下面等价于WHERE sale_price < 1000;
FROM Product
WHERE NOT sale_price >= 1000;
AND运算符:
FROM Product
WHERE product_type = ‘厨房用具’
AND sale_price >= 3000;
OR运算符:
FROM Product
WHERE product_type = ‘厨房用具’
OR sale_price >= 3000;
AND运算符的优先级高于OR运算符,如果想要选出product_type = ‘办公用品’,而且登记日期为2222-02-22或2222-06-22,按照下面这个方式是不行的。
FROM Product
WHERE regist_date = ‘2222-02-22’ OR regist_date = ‘2222-06-22’
AND product_type = ‘办公用品’;
要优先执行OR运算符可以使用括号,如下所示。
FROM Product
WHERE product_type = ‘办公用品’
AND ( regist_date = ‘2222-02-22’
OR regist_date = ‘2222-06-22’);
比较运算符会把运算结果以真值形式返回,结果成立为真,不成立为假。
可以通过创建真值表,理解一些复杂的条件。
FROM Product
WHERE purchase_price = 2800;
FROM Product
WHERE NOT purchase_price = 2800;
FROM Product
经观察发现,SQL中真值还有一种,叫UNKNOWN,既不真也不假,称之为不确定。
这是因为数据含有NULL。
因此,SQL中逻辑运算被称为三值逻辑。
以上就是PostgreSQL数据库的基本查询操作的详细内容,更多关于PostgreSQL 数据库查询操作的资料请关注其它相关文章!