MySQL学习笔记(1)——常用符号

DISTINCT

DISTINCT常与SELECT连用,如:SELECT DISTINCT。用于返回唯一且不同的值。

语法:

SELECT DISTINCT 列名称 FROM 表名称

现有account表:

id name money
1 aaa 1000
2 bbb 1000
3 ccc 1000
4 ccc 1000

SELECT DISTINCT name FROM account

结果:

name
aaa
bbb
ccc

ORDER BY

ORDER BY 语句用于对结果集进行排序。
语法:

SELECT 列1,列2 FROM 表 ORDER BY 列1


IN

IN 操作符允许我们在 WHERE 子句中规定多个值。
语法:

SELECT 列1,列2
FROM table_name
WHERE 列1 IN (value1,value2,…)

扫描二维码关注公众号,回复: 10589397 查看本文章

JOIN

JOIN等同于INNER JOIN,即内连接。用于根据两个或多个表中的列之间的关系,从这些表中查询数据。说白了就是拼接两个表。
语法:

SELECT * FROM 表1 JOIN 表2 ON 表1的某个属性 = 表2的某个属性

student表:

id name class_id
1 sam 1
2 jack 1
3 paul 2
4 louis 2
5 thomas 4
6 stevie 3

class表:

id name
1 一班
2 二班
3 三班

SELECT * FROM student JOIN class ON student.class_id = class.id

执行结果为:
join查询结果集

可以注意到只有5条记录,不满足ON条件的会直接过滤掉。相当于

SELECT * FROM student,class WHERE student.class_id = class.id


LEFT JOIN

左外连接,不满足ON条件的会保留左边那张表的数据,右边表数据直接显示NULL(左边的数据会全盘保留)。

SELECT * FROM student LEFT JOIN class ON student.class_id = class.id

结果如下:
在这里插入图片描述
可以看到,Thomas的班级id和name为空,因为是左连接,即使不满足ON条件,左表得以保留。


UNION

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

SELECT name FROM student
UNION
SELECT name FROM class;

结果为:
在这里插入图片描述

GROUP BY

与一些统计函数结合对结果集进行分组

ORDER表如下:

id customer order_price
1 sam 1000
2 bush 700
3 bush 2700
4 sam 2100
5 kat 500
6 sam 1400
7 kat 1100
8 bush 200

执行如下SQL语句:

SELECT customer,SUM(order_price)
FROM order
GROUP BY customer;

结果为:
在这里插入图片描述

HAVING

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。现在,我们希望查找订单总金额大于 2000 的客户。

SQL 语句如下:

SELECT customer,SUM(order_price)
FROM order
GROUP BY customer
HAVING SUM(order_price)>2000;

注意GROUP BY要在HAVING前面,因为HAVING是在最后结果集中处理。结果如下:
在这里插入图片描述

发布了3 篇原创文章 · 获赞 5 · 访问量 119

猜你喜欢

转载自blog.csdn.net/spiiiiiiiiiitter/article/details/105280920