SQL的基础查询

1. Select 语句

1.1 Select 基本语句

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

1.2 相关法则

  • 星号(*)代表全部列的意思。
  • 字符串用双引号("<字符串>")括起来
  • 在SELECT语句中使用DISTINCT可以删除重复行。
  • 1行注释:"-- “,多行注释:”/* */"

Example:

-- 想要查询出全部列时,可以使用代表所有列的星号(*)。
SELECT * FROM <表名>-- 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;

2. 运算符

  • 算数运算符
算数运算符比较运算符逻辑运算符
+ (加)= (等于)NOT (不是)
- (减)<> (不等于)AND (和)
* (乘)> (大于),< (小于)OR (或)
/ (除)>= (大于等于),<= (小于等于)

2.2 相关法则

  • SELECT子句中可以使用常数或者表达式。
  • 使用比较运算符时一定要注意不等号和等号的位置。
  • 字符串类型的数据原则上按照字典顺序进行排序,不能与数字的大小顺序混淆。
  • 希望选取NULL记录时,需要在条件表达式中使用IS NULL运算符。希望选取不是NULL的记录时,需要在条件表达式中使用IS NOT NULL运算符。

Example

-- 选取出sale_price列为500的记录
SELECT product_name, product_type
  FROM product
 WHERE sale_price = 500;

-- 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;
  • 想要表示“不是……”时,除了 <> 运算符外,还存在另外一个表示否定、使用范围更广的运算符:NOT。NOT不能单独使用,如下例:
-- 选取出销售单价大于等于1000日元的记录
SELECT product_name, product_type, sale_price
  FROM product
 WHERE sale_price >= 1000;
-- 向代码清单2-30的查询条件中添加NOT运算符
SELECT product_name, product_type, sale_price
  FROM product
 WHERE NOT sale_price >= 1000;
  • AND 运算符优先于 OR 运算符,想要优先执行OR运算,可以使用括号:
-- 通过使用括号让OR运算符先于AND运算符执行
SELECT product_name, product_type, regist_date
  FROM product
 WHERE product_type = '办公用品'
   AND ( regist_date = '2009-09-11'
        OR regist_date = '2009-09-20');

3. 对查询结果进行排序

# 默认升序排列,降序排列为 DESC
SELECT <列名1>, <列名2>, <列名3>, ……
  FROM <表名>
 ORDER BY <排序基准列1>, <排序基准列2>, ……

ORDER BY中列名可使用别名


4. 限制查询结果数量

# 限制查询结果数量为100条
SELECT <列名1>, <列名2>, <列名3>, ……
  FROM <表名>
  LIMIT 100

5. SQL查询顺序

GROUP BY 不可以 使用别名
ORDER BY 可以 使用别名

FROMWHEREGROUP BYHAVINGSELECTORDER BY

参考来源:DataWhale-SQL: Task02:基础查询与排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值