MySQL教程二 基础查询与排序

这篇教程详细介绍了MySQL的基础查询操作,包括SELECT语句的基础、算术和比较运算符、逻辑运算符,以及如何进行聚合查询、分组、对查询结果排序。文中还提供了丰富的例子和练习题,帮助读者掌握SQL查询技巧。
摘要由CSDN通过智能技术生成


1. SELECT语句基础

1.1 从表中选取数据

基本SELECT语句包含了SELECT和FROM两个子句(clause)。示例如下:

SELECT <列名> FROM <表名>;

#例如
SELECT product_name FROM products;

其中,SELECT子句中列举了希望从表中查询出的列的名称,而FROM子句则指定了选取出数据的表的名称。products是上一篇内容里创建的表格。

1.2 从表中选取符合条件的数据

SELECT 语句通过WHERE子句来指定查询数据的条件。在WHERE 子句中可以指定“某一列的值和这个字符串相等”或者“某一列的值大于这个数字”等条件。执行含有这些条件的SELECT语句,就可以查询出只符合该条件的记录了。

SELECT <列名>, ……
  FROM <表名>
  WHERE <条件表达式>;
#例如
SELECT product_name,product_type,purchase_price
	FROM products
    WHERE purchase_price >= 500;
#或者
SELECT product_name,product_type
	FROM products
    WHERE purchase_price >= 500;
#两种方法的输出结果不一样:第一种方法的输出比第二章多了一个列purchase_price;

1.3 相关法则

  • 星号(*)代表全部列的意思。SELECT * FROM products;
  • SQL中可以随意使用换行符,不影响语句执行(但不可插入空行)。
  • 设定汉语别名时需要使用双引号(")括起来。
  • 在SELECT语句中使用DISTINCT可以删除重复行。SELCET DISTINCT product_type FROM products;
  • 注释是SQL语句中用来标识说明或者注意事项的部分。分为1行注释"-- “和多行注释两种”/* */"。
  • SQL语句可以使用AS关键字为列设定别名(用中文时需要双引号(“”))。SELECT product_id AS id,product_name AS name;

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

2.1 算术运算符

SQL语句中可以使用的四则运算的主要运算符如下:加减乘除:+ - * /

2.2 比较运算符

SQL常见比较运算符如下:= 和~相等 <>和~不相等 >= 大于等于~ > 大于~ <= 小于等于~ < 小于~

2.3 常用法则

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

3 逻辑运算符

3.1 NOT运算符

想要表示“不是……”时,除了前文的<>运算符外,还存在另外一个表示否定、使用范围更广的运算符:NOT。

NOT不能单独使用,如下例:

-- 选取出销售单价大于等于1000日元的记录
SELECT product_name, product_type, sale_price
  	FROM products
 	WHERE sale_price >= 1000;
-- 向代码清单2-30的查询条件中添加NOT运算符
SELECT product_name, product_type, sale_price
  	FROM products
 	WHERE NOT sale_price >= 1000;

在这里插入图片描述
在这里插入图片描述

3.2 AND运算符和OR运算符

当希望同时使用多个查询条件时,可以使用AND或者OR运算符。AND 相当于“并且”,类似数学中的取交集;OR 相当于“或者”,类似数学中的取并集

通过括号优先处理
例如:我们要查找付款价格不为空以及优惠价格大于等于2000或者优惠价格为500的。

SELECT product_name,product_type,purchase_price,sale_price
	FROM products
    WHERE purchase_price IS NOT NULL
    AND ( sale_price 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值