PostgreSQL学习笔记(2)

第二章 查询基础

2-1 SELECT语句基础

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

SELECT *  FROM <表名>;  (查询表中所有列)

【查询多列时,需由逗号进行分割,查询结果中列的顺序和SELECT子句中的顺序相同。】

为列设定别名:用AS关键字

SELECT product_id    AS id,
       product_name  AS "商品名称",  【其中设定中文别名需要用双引号括起来】
  FROM Product;

查询常数:

SELECT '商品' AS string, 38 AS number, '2009-02-24' AS date,product_id
  FROM Product;   【其中前三个常数在输出时与id同时输出,但不改变原表】

从结果中删除重复行:用DISTINCT关键字 

SELECT DISTINCT purchase_price
  FROM Product; 【可用在多列前,对多列数据进行组合,重复数据合并为同一条】

注:使用DISTINCT时,NULL也被视为一类数据会被合并。且DISTINCT只能放在第一个列名之前。

指定查询数据的条件:WHERE子句,需紧跟在FROM子句之后。

SELECT product_name, product_type
  FROM Product
 WHERE product_type = '衣服'; 【条件表达式】

 书写注释:行注释:--之后  多行注释:/*     */

2-2 算术运算符和比较运算符

加减乘除四则运算,以及使用()提升优先级,均可用于子句中。【以行为单位执行】

包含NULL的计算结果都是NULL

比较运算符:需要注意不相等为'<>',其余均为常用符号

SELECT product_name, sale_price, purchase_price
  FROM Product
 WHERE sale_price - purchase_price >= 500;【在条件表达式中用计算表达式】

对字符串使用不等号时,按字典顺序排列,而不是根据数字大小排序。

选取NULL的记录时,应使用IS NULL IS NOT NULL运算符 

2-3 逻辑运算符

NOT运算符用于否定

AND表示并且,OR表示或者,但应注意AND优先级高于OR

SELECT product_name, product_type, regist_date
  FROM Product
 WHERE product_type = '办公用品'
   AND (   regist_date = '2009-09-11'
        OR regist_date = '2009-09-20');

注:SQL中的逻辑运算被称为三值逻辑,除了TRUE、FALSE,还存在NULL表示不确定 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值