ch02:基础查询与排序

第二章:基础查询与排序

1.1 SELECT语句基础

语法

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

例子

-- 想要查询出全部列
SELECT *
  FROM  product;
-- SQL语句可以使用AS关键字为列设定别名(用中文时需要双引号(“”))。
SELECT product_id     As id,
       product_name   As name,
       purchase_price AS "进货单价"
  FROM product;
-- 使用DISTINCT删除product_type列中重复的数据
SELECT DISTINCT product_type
  FROM product;
+--------------+
| product_type |
+--------------+
| 衣服         |
| 办公用品      |
| 厨房用具      |
+--------------+
3 rows in set (0.01 sec)

1.2 WHERE语句基础

目的:给查询限定条件

语法

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

条件列和输出列可以相同,也可以不同

-- 用来选取product type列为衣服的记录的SELECT语句
SELECT product_name, product_type
  FROM product
 WHERE product_type = '衣服';
-- 也可以选取出不是查询条件的列(条件列与输出列不同)
SELECT product_name
  FROM product
 WHERE product_type = '衣服';

1.3 算术运算符和比较运算符

1.3.1 算术运算符

含义 运算符
加法 +
减法 -
乘法 *
除法 /

1.3.2比较运算符

含义 运算符
等于 =
不等于 <>
大于等于 >=
大于 >
小于等于 <=
小于 <

注意:希望选取NULL记录时,需要在条件表达式中使用IS NULL运算符。希望选取不是NULL的记录时,需要在条件表达式中使用IS NOT NULL运算符。

例子

-- SQL语句中也可以使用运算表达式
SELECT product_name, sale_price, sale_price * 2 AS "sale_price x2"
FROM product;

-- WHERE子句的条件表达式中也可以使用计算表达式
SELECT product_name, sale_price, purchase_price
FROM product
WHERE sale_price-purchase_price >= 500;
/* 对字符串使用不等号
首先创建chars并插入数据
选取出大于‘2’的SELECT语句*/

-- DDL:创建表
CREATE TABLE chars
(chr CHAR3NOT NULL, 
PRIMARY KEY(chr));

-- 选取出大于'2'的数据的SELECT语句('2'为字符串)
SELECT chr
FROM chars
WHERE chr > '2';

-- 选取NULL的记录
SELECT product_name, purchase_price
FROM product
WHERE purchase_price IS NULL;

-- 选取不为NULL的记录
SELECT product_name, purchase_price
FROM product
WHERE purchase_price IS NOT NULL;

1.4 逻辑运算符

1.4.1 NOT运算符

注意not的位置

-- 向代码清单2-30的查询条件中添加NOT运算符
SELECT product_name, product_type, sale_price
FROM product
WHERE NOT sale_price >= 1000;

1.4.2 AND运算符和OR运算符

使用规则

1.AND 相当于“并且”,类似数学中的取交集;OR 相当于“或者”,类似数学中的取并集

2.通过括号优先处理

例子:

-- 通过使用括号让OR运算符先于AND运算符执行
SELECT<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值