第八节——表操作
Posted 想学习安全的小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第八节——表操作相关的知识,希望对你有一定的参考价值。
表操作学习
一、group by
- 概念:GROUP BY 语句不能单独使用,一般用于结合合计函数,根据一个或多个列对结果集进行分组。
- 语句
SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name
//aggregate_function是函数名,修改此值使用不同的函数
- 例子:有一个价格表,通过国家名对不同国家的价格进行统计
- 查看表的数据
- 对nation进行区分,统计每个国家的价格综合,语句:select nation,sum(price) from testtable group by (nation);
- 不加group by会提示报错
二、内连接inner join
- 概念:将两个表通过数据一致的列,连接展示数据
- 语法:
SELECT column_name
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
- 例子:将表一与表二的数据通过id列,内连接展示
- 查看表1的数据
- 查看表2的数据
- 将表1和表2的数据通过id值联合展示,语句:select ttable1.id,ttable1.name,ttable2.price from ttable1 inner join ttable2 on ttable1.id=ttable2.id;
- 对于匹配不到的列,如表二多了一个id为4的一行数据,进行内联查询时,不进行展示
三、外连接——左连接(left join)
- 概念:LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行,在本数据库中LEFT JOIN等同于LEFT OUTER JOIN
- 语法
SELECT column_name
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
- 举例:表一和表二通过id列进行左连接,表一比表二多一行id=5的数据
- 查看表1的数据
- 查看表2的数据
- 表1与表2通过id列进行左连接
四、外连接——右连接(right join)
- 概念:RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行,此数据库中,RIGHT JOIN 等同于 RIGHT OUTER JOIN
- 语法
SELECT column_name
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
- 例子:表1与表2通过id列进行右连接,但是表1比表2少id=4的数据行
- 查看表1的数据
- 查看表2的数据
- 表1与表2通过id列进行右连接,语句:select * from ttable1 right join ttable2 on ttable1.id=ttable2.id;
五、外连接——全连接
- 概念:只要其中某个表存在匹配,FULL JOIN 关键字就会返回行,在此数据库中,FULL JOIN 等同于 FULL OUTER JOIN
- 语法:
SELECT column_name
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name
- 举例:表1与表2通过id列进行全连接,表一多id=4的数据行,表二多id=5的数据行
- 查看表1的数据
- 查看表2的数据
- 表1与表2通过id列全连接,语句:select * from ttable1 full join ttable2 on ttable1.id=ttable2.id;
以上是关于第八节——表操作的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode快速入门之第八节课: 掌握链表数据移动的小诀窍