SQL查询语句之查询数据

目录

1、基本查询语句

2、单表查询

2.1 查询所有字段

1、列出表中的所有字段

2、使用 ‘?* ’ 查询所有字段?

2.2 查询指定字段

2.3 查询指定记录

2.4 带 in 关键字的查询

2.5 带 between and 的范围查询

2.6 带 like 的字符匹配查询

2.7 查询空值

2.8 带 and 的多条件查询

2.9 带 or 的多条件查询

2.10 查询结果不重复

2.11 对查询结果排序

2.12 分组查询

1、单独使用group by关键字来分组

2、group by 关键字与 group_concat()函数一起使用

3、group by 关键字与集合函数一起使用

4、group by 关键字与having一起使用

5、按多个字段进行分组

6. GROUP BY关键与WITH ROLLUP一起使用

2.13 用 limit 限制查询结果的数量

1、不指定初始位置

2、指定初始位置

3、使用集合函数查询

3.1 count() 函数

3.2 sum() 函数

3.3 avg() 函数

3.4 max() 函数

3.5 min() 函数

?4、连接查询

4.1 内连接查询

4.2 外连接查询

1、左连接查询

2、右连接查询

4.3 复合条件连接查询

5、子查询

5.1 带 in 关键字的子查询

5.2 带比较运算符的子查询?

5.3 带 exists 关键字的子查询

5.4 带 any 关键字的子查询

5.5 带 all 关键字的子查询

6、合并查询结果

7、为表和字段取别名

7.1 为表取别名

7.2 为字段取别名

8、使用正则表达式查询

8.1 查询以特定字符或字符串开头的记录

8.2 查询以特定字符或字符串结尾的记录

8.3 用符号 ‘.’ 来替代字符串中的任意一个字符

8.4 匹配指定字符中的任意一个

8.5 匹配指定字符以外的字符

8.6 匹配指定字符串

8.7 使用‘*’和‘+’来匹配多个字符

8.8 使用{M} 或者{M,N}来指定字符串连续出现的次数


查询数据是指从数据库中获取所需要的数据。查询数据是数据库操作中最常用,也是最重要的操作。用户可以根据自己对数据的需求,使用不同的查询方式。通过不同的查询方式,可以获得不同的数据。在MySQL 中是使用SELECT语句来查询数据的。

1、基本查询语句

查询数据是数据库操作中最常用的操作。通过对数据库的查询,用户可以从数据库中获取需要的数据。数据库中可能包含着无数的表,表中可能包含着无数的记录。因此,要获得所需的数据并非易事。MySQL中可以使用SELECT 语句来查询数据。根据查询的条件的不同,数据库系统会找到不同的数据。通过SELECT语句可以很方便地获取所需的信息。

MysQL中,SELECT的基本语法形式如下:

select  属性列表
        from 表名和视图列表
        [where 条件表达式1]
        [group by 属性名1 [having 条件表达式2]]
        [order by 属性名2 [asc | desc]]

其中,“属性列表”参数表示需要查询的字段名;“表名和视图列表”参数表示从此处指定的表或者视图中查询数据,表和视图可以有多个;“条件表达式1”参数指定查询条件;“属性名1”参数指按该字段中的数据进行分组;“条件表达式2”参数表示满足该表达式的数据才能输出;“属性名2”参数指按该字段中的数据进行排序,排序方式由ASC和 DESC两个参数指出;ASC参数表示按升序的顺序进行排序,这是默认参数;DESC参数表示按降序的顺序进行排序。

升序表示值按从小到大的顺序排列。例如,{1,2,3}这个顺序就是升序。降序表示值按从大到小的顺序排列。例如,{3,2,1}这个顺序就是降序。对记录进行排序时,如果没有指定是ASC还是DESC,默认情况下是ASC。

如果有WHERE子句,就按照“条件表达式1”指定的条件进行查询;如果没有WHERE子句,就查询所有记录。

如果有GROUP BY子句,就按照“属性名1”指定的字段进行分组;如果GROUP BY子句后带着HAVING关键字,那么只有满足“条件表达式2”中指定的条件的才能够输出。GROUP BY子句通常和COUNTO、SUM()等聚合函数一起使用。

如果有ORDER BY子句,就按照“属性名2”指定的字段进行排序。排序方式由“ASC”和“DESC”两个参数指出。默认的情况下是“ASC”。

下面是一个简单 SELECT语句来查询 employee表。SELECT 语句的代码如下:

【一个小插曲】在创建employee表并插入数据的过程中,出现了错误。

经向度娘了解,是因为插入的数据中有中文,而默认latin1的编码方式不太支持,所以这里的解决方法是将创建好的employee表删除,更改数据库编码方式 alter database 库名charset = 编码方式,再创建表,插入数据,没有报错。

SQL查询语句之查询数据_第1张图片

语句执行后,从 employee表中查询出num、name、age、sex和 homeaddr等5个字段的所有记录。因为没有WHERE子句来控制查询条件,默认情况下显示了所有记录。因为没有GROUP BY子句和ORDER BY子句,记录按照employee表中存储的顺序显示。

下面是一个包含WHERE子句和ORDER BY子句的SELECT 语句。SELECT语句的代码如下:

你可能感兴趣的:(面试,学习路线,阿里巴巴,android,前端,后端)