2021-08-13

SELECT 数据查询

select 是所有SQL语言·中·使用频率最高的语气·,是·SQL语言·的灵魂.select语句可以使数据库服务器根据客户的要求查询所需的信息,并按规定的格式返回给客户。select语句具有强大的查询功能,允许从一个表或多个表中选择满足给定条件的一个或多个行或列

--语法
SELECT <COLUMN1,COLUMN2,COLUMN3...>
FROM <table_name>
[WHERE <条件表达式>]
[GROUP BY COLUMN1,COLUMN2,COLUMN3...|HAVING <条件表达式>]
[ORDER BY <COLUMN1,COLUMN2,COLUMN3...>] [ASCDESC];

说明:
(1)必须的子句只有select子句和from子句
(2)where子句用于对查询结果进行过滤
(3)group by子句根据指定列分组,having子句对分组后的进行过滤
(4)order by 子句用于对查询结果进行排序,asc表示升序,desc表示降序,默认是按asc排序

(一)选择列表

1.查询全部信息

-- 语法
SELECT * FROM 表名;

2.局部查询

-- 语法
SELECT 字段名1 字段名1 ,字段名2 字段名2 FROM 表名;

注意:
MYSQL针对表名、列名以及关键字,均不区分大小写
如表中“line”可写成“LINE”;字段“miles”可写成“MILES”;“select”可写成“SELECT”;

3.列标题
在select查询语句中,可以用AS关键字或空格使查询结果中的列名显示为列标题(也可称为”列别名“)

  • 使用AS关键字显示列标题
--语法
SELECT 字段名1 AS 列标题1, 字段名2 AS 列标题2...FROM 表名;
  • 使用空格显示列标题名
-- 语法
SELECT 字段名1 列标题1,字段名2 列标题2...FROM 表名;

4.使用DISTINCT 关键字过滤重复行

-- 语法
SELECT DISTINCT 字段名 FROM 表名;

5.选择列为表达式
CEIL(X)-----返回最小整数值,但不小于X

-- 示例
SELECT mileage 里程数,CEIL(mileage*0.8)减排后 FROM flight;

注意:
(1)ceil(a)为MYSQL中内置数学函数,其功能是对数值型a进行向上取整,如 ceil(12,4)的值为13
(2)floor(a)为MYSQL中内置数学函数,其功能是对数值型a进行向下取整,如floor(12,7)的值为12
(3)round(a)为MYSQL中内置数学函数,其功能是对数值a进行四舍五入,如round(12,7)的值为13

(二)MYSQL运算符

运算符连接表达式中的各个操作数,其作用是指明对操作数所进行的运算
1.算术运算符
在这里插入图片描述

注意:
在数学运算时,除数为0的时候无意义,因此除法运算中除数不能为0,如果被0除,则返回结果为null,

2.比较运算符
比较运算符的结果总是1、0或null,比较运算符经常在select查询条件中使用,用来查询满足条件的记录
在这里插入图片描述

MySQL进行数值比较时规则如下:
(1)若有一个或两个参数为null,则比较运算的结果为null
(2)若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较
(3)若两个参数均为整数则按照整数进行比较
(4)若一个字符串和一个数字进行相等判断,则MHSQL可以自动将字符串转换为数字

3.逻辑运算符
在SQL中,所有逻辑运算符的求值所得结果均为TRUE(真)、FALSE(假)或null,在MYSQL中分别显示为1(TRUE)、0(FLASE)和null
在这里插入图片描述

(三)定制显示查询结果

1.升序排序

-- 语法
SELECT *
FROM 表名
[WHERE 条件表达式]
ORDER BY 字段 ASC;

2.降序排序

-- 语法
SELECT *
FROM 表名
[WHERE 条件表达式]
ORDER BY 字段 DESC;

3.多列排序

SELECT *
FROM 表名
[WHERE 条件表达式]
ORDER BY 字段1 ASC,字段2 DESC

4.使用LIMIT 限制查询结果数量

-- 语法
SELECT *
FROM table LIMIT[offset]rows;

说明:
(1)参数offset和rows必须为整数,offset可以省略
(2)offset指定第一个记录行的偏移量,注意:初始记录行的偏移量为0,而不是1
(3)rows指定返回记录行最大数目

(四)模糊查询

1.LIKE运算符
在MYSQL中,使用通配符实现LIKE运算。通配符是一种在WHERE子句中拥有特殊意义的字符,通配符包括“%”“-”和“[]”

注意:
只有字符类型的数据才能使用LIKE运算符和通配符

  • LIKE要和%连用,%通配符可以匹配0到多个任意字符`
--示例
SELECT *
FROM 表名
WHERE name
LIKE '刘%';
  • 通配符表示仅匹配任意一个字符,如需匹配两个字符,则使用“ _ _”
--示例
SELECT *
FROM 表名
WHERE name
LIKE '刘_';

2.“_”与“%”综合运用

--示例
SELECT *
FROM 表名
WHERE name
LIKE '_重%';

3.IN运算符

--示例:查询到达城市为...或...
SELECT *
FROM 表名
WHERE toCity IN('深圳','北京');

4.BETWEEN…AND运算符

--示例:查询长度为20~25千米的线路信息
SELECT *
FROM 表名
WHERE miles BETWEEN 20 AND 25;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值