首页 > 数据库 >项目4 MySQL数据表的检索总结

项目4 MySQL数据表的检索总结

时间:2022-10-14 17:32:31浏览次数:47  
标签:检索 ... 表名 查询 数据表 字段 MySQL WHERE SELECT


目录

​【任务4.1】查询时选择列​

​1.基本查询语句​

​2,检索所有列​

​3.检索指定列​

​(1)检索单个字段​

​(2)检索多个字段​

​(3)定义别名​

​【任务4.2】查询时选择列行​

​1.查询指定记录​

​2.带IN 关键字的查询 ​

​3.带BETWEEN AND 的范围查询 ​

​4.带LIKE 的字符匹配查询 ​

​5.查询空值 ​

​6.带AND的多条件查询 ​

​7.带OR的多条件查询 ​

​8.查询不同的值 ​

​9.显示前N 行 ​

​ 【任务4.3】查询结果排序​

​ 1.ORDER BY 语句​

​【任务4.4】查询的分组与汇总​

​1.聚集函数 ​

​2.分组查询 ​

​(1)创建分组。 ​

​(2) 过滤分组。​

​(3)分组中使用 WITH ROLLUP。​

​(4)多字段分组​

​(5)GROUP BY 和 ORDER BY 一起使用。 ​

​3.SELECT 之句顺序 ​

​ 【任务4.5】创建多表连接查询​

​1.交叉连接查询 ​

​2.内连接查询 ​

​3.外连接查询 ​

​4.复合条件连接查询 ​

​5.为表取别名 ​

​【任务4.6】创建子查询​

​ 1.带IN关键字的子查询​

​2.带EXISTS 关键字的子查询 ​

​ 3.带ANY、SOME 关键字的子查询​

​4.带ALL关键字的子查询 ​

​【任务4.7】创建多表联合查询​

​1.使用UNION  ​

​2.UNION规则 ​

​3.包含或取消重复的行 ​

​4.对联合查询结果排序 ​



 

【任务4.1】查询时选择列

1.基本查询语句

SELECT

{*|<字段列表>}

[

FROM <表1>,<表2>...[WHERE<表达式>]

[GROUP BY < group by definition>]

[HAVING<expression>[{<operator> <expression>}...]]

[ORDER BY <order by definition>]

[LIMIT [<offset>,]<row count>]

]

SELECT [字段1,字段2,...,字段n]

FROM[表或视图]

WHERE [查询条件]; 

2,检索所有列

SELECT * FROM 表名;

SELECT 字段1,字段2,... ,字段n FROM 表名;

3.检索指定列

(1)检索单个字段

SELECT 字段名 FROM 表名; 

(2)检索多个字段

 SELECT 字段1,字段2,... ,字段n FROM 表名;

(3)定义别名

字段名 [AS] 字段别名 

【任务4.2】查询时选择列行

1.查询指定记录

 SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 条件;

2.带IN 关键字的查询 

  SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 IN (值1,值2,...);

WHERE 条件判断符

操作符

说明

=

等于

<>,!=

不等于

<

小于

<=

小于等于

>

大于

>=

大于等于

BETWEEN

在指定的两个值之间

 

3.带BETWEEN AND 的范围查询 

  SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 BETWEEN 值1 AND 值2;

4.带LIKE 的字符匹配查询 

 SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 LIKE 条件;

5.查询空值 

 SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 IS NULL;

6.带AND的多条件查询 

 SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 条件1 AND 条件2...;

7.带OR的多条件查询 

SELECT 字段1,字段2,... ,字段n FROM 表名 WHERE 字段名 条件1 OR 条件2...; 

8.查询不同的值 

SELECT  DISTINCT 字段1,字段2,... ,字段n FROM 表名 ;

9.显示前N 行 

 SELECT  DISTINCT 字段1,字段2,... ,字段n FROM 表名 LIMIT [位置偏移量,] 行数;

注意,第一个被检索的行是第0行,而不是第1行。

 【任务4.3】查询结果排序

 1.ORDER BY 语句

 SELECT  DISTINCT 字段1,字段2,... ,字段n FROM 表名 ORDER BY 字段名 1 [ASC|DESC],字段名 2 [ASC|DESC]...;

【任务4.4】查询的分组与汇总

1.聚集函数 

SQL聚焦函数

函数

作用

AVG( )

返回某列的平均值

COUNT( ) 

返回某列的行数

MAX( )

返回某列的最大值

MIN( )

返回某列的最小值

SUM( )

返回某列值之和

2.分组查询 

 [GROUP BY 字段名] [HAVING <条件表达式> ]

(1)创建分组。 

(2) 过滤分组。

(3)分组中使用 WITH ROLLUP。

(4)多字段分组

(5)GROUP BY 和 ORDER BY 一起使用。 

3.SELECT 之句顺序 

SELECT 子句顺序

子句

说明

是否必须使用

SELECT

要返回的列或表达式


FROM

从中检索数据的表

仅在从表选择数据时使用

WHERE 

行级过滤


GROUP BY

分组说明

仅在按组计算聚集时使用

HAVING

组级过滤


ORDER BY 

输出排序顺序


 

 【任务4.5】创建多表连接查询

1.交叉连接查询 

SELECT * FROM 表名1 CROSS JOIN 表名2; 

2.内连接查询 

SELECT 查询字段 FROM 表名1 [INNER] JOIN 表名 2 ON 表名1.关系字段 = 表名2.关系字段; 

3.外连接查询 

 SELECT 查询字段 FROM 表名1,表名2,... WHERE 表名1.关系字段 = 表名2.关系字段 [AND 连接条件...]; 

4.复合条件连接查询 

5.为表取别名 

SELECT * FROM 表名[AS] 别名; 

【任务4.6】创建子查询

 1.带IN关键字的子查询

 SELECT 查询字段 FROM 表名 WHERE 字段名 [NOT] IN (SELECT 语句);

2.带EXISTS 关键字的子查询 

 SELECT 查询字段 FROM 表名 WHERE 字段名 [NOT] IN (SELECT 语句);

 3.带ANY、SOME 关键字的子查询

SELECT 查询字段 FROM 表名 WHERE 字段名 比较运算符 ANY|SOME (SELECT 语句);

4.带ALL关键字的子查询 

 SELECT 查询字段 FROM 表名 WHERE 字段名 比较运算符 ALL (SELECT 语句);

【任务4.7】创建多表联合查询

1.使用UNION  

SELECT 查询字段 FROM 表名

UNION [ALL]

SELECT 查询字段 FROM 表名; 

2.UNION规则 

3.包含或取消重复的行 

4.对联合查询结果排序 

 

 

 

 

 

 

 

标签:检索,...,表名,查询,数据表,字段,MySQL,WHERE,SELECT
From: https://blog.51cto.com/u_15829839/5757562

相关文章

  • MySQL全局锁和表锁
    MySQL全局锁和表锁该文摘抄自林晓斌老师的文章数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁......
  • 数据库内置表的研究 & Mysql的文件操作
    数据库内置表的研究+通过命令写shell0x00SQLite内置表的研究SQLITE_MASTER表是一张SQLite数据库的伴生表,该表会自动创建,是用来存储数据库的元信息的,如:表(table),索引......
  • 现有用户成就统计需求,每个用户有多个成就,某一个成就会被多人拥有,写出数据表设计方
        现有用户成就统计需求,每个用户有多个成就,某一个成就会被多人拥有,写出数据表设计方案,用一条sql查出每个成就(B.ach_name)下的男生(sex=0)和女生(sex=1)分别有......
  • MySql的CURRENT_TIMESTAMP
    MySql的CURRENT_TIMESTAMP在创建时间字段的时候DEFAULTCURRENT_TIMESTAMP表示当插入数据的时候,该字段默认值为当前时间ONUPDATECURRENT_TIMESTAMP表示每次更新这条数......
  • Mysql基础第二天,安装Navicat
    1.我们到http://www.navicat.com这个网站下载Navicat2.现在开始安装3.点击下一步之后4.点击下一步5.点击下一步,等待安装6.点击完成7.打开软件,我们新建一个连接8.点击Mysql......
  • Mysql基础第十天,数据过滤
    1.组合WHERE子句selectprod_name,vend_id,prod_pricefromproductswherevend_id=1003andprod_price=2.5;//使用andselectprod_name,vend_id,prod_pricefrompr......
  • Mysql基础第十一天,用通配符进行过滤
    LIKE操作符selectcust_namefromcustomerswherecust_namelike'%ou%';//%通配符%ou以ou结尾ou%以ou开头%ou%中间包含ouselectcust_namefromcustomerswh......
  • Mysql基础第十二天,用正则表达式进行搜索
    基本字符匹配selectpro_namefromproductswhereprod_nameregexp'ee';//基本字符匹配selectpro_namefromproductswhereprod_nameregexp'.00';//含有00,前......
  • Ubuntu 22.04 二进制安装 MySQL 8.0.31,安装MysqlWorkbench 及Test_db
    二进制安装MySQL​下载MySQL安装包wgethttps://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz安装依赖包sudoapt-getinstalllibai......
  • MySQL索引(下)
    MySQL索引(下)该文摘抄自林晓斌老师的文章在上一篇文章中,介绍了InnoDB索引的数据结构模型,今天我们再继续聊聊跟MySQL索引有关的概念在开始这篇文章之前,我们先来看一下......