mysql select 语法
格式:select [选项子句] 字段表达式子句 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句];
提示:子句的顺序是固定的
select 选项子句 [ all | distinct ]
这个参数主要影响查询结果是否包含重复记录
All:代表保留所有的记录,这个默认选项,可以省略不写
Distinct:代表去除重复的记录
格式:select all|distinct 字段表达式 from...;
from子句
格式:from 数据表
FROM子句用于指定要查询使用的数据源
数据表可以有多个,中间用逗号分开,数据表也可以起别名
如果数据源是两个表时,结果会是一个交叉连接的方式,记录数相当于笛卡尔积
两个表的数据总和=表1的记录数*表2的记录数
写*时,字段名总数是两个表的字段数量的和
数据表也可以起别名,还可以加条件
WHERE子句
功能是进行数据的筛选过滤。
格式:where 条件表达式
条件表达式使用关系运算符和逻辑运算符
关系运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
!= 不等于
<> 不等于
= 等于
逻辑运算符
&& and 与
|| or 或
! not 非
Xor 异或
运算符存在优先级的问题
在where子句中不能使用字段的别名
GROUP BY子句
主要用于分组。通常在字段表达式中使用分组函数。
格式:group by 字段1 [asc|desc], 字段2 [asc|desc], ……
排序不写默认是asc正序
使用count(*)和count(字段名)时,注意字段的值为null的问题
count(字段名)统计时,会把值为null的记录忽略掉!
HAVING子句
它用于对查询出来的结果进行再次的过滤。
比较显著的就是如对分组查询出来的结果再次使用条件。
省略where和group by子句时,不等于having就是where
不能把where放到having的位置
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
ORDER BY子句
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
主要用于对数据进行排序。
格式:order by 字段1 [asc|desc], 字段2 [asc|desc], ……
Asc代表正序,它是默认选项,不写就是asc
Desc代表倒序
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
当用一个字段做排序时,如果出现针对排序字段相同的记录时,会隐含去使用主键进行第二排序
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
LIMIT子句
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
这个子句是做分页的。
格式:limit 起始记录位置, 记录数
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
注意:如果省略起始记录位置,只给出记录数,表示从第一条数据开始取内容
Limit 10 相当于 limit 0, 10
开始计算的
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
最新文章
- 数据结构(C语言第2版)----时间复杂度和单链表
- 2014年2月份第4周51Aspx源码发布详情
- android开发获取屏幕高度和宽度
- MSVC CRT运行库启动代码分析
- JavaScript 禁用键盘按钮
- Java Web开发及应用软件方向的学习计划
- SQL Server 使用ROW_NUMBER()进行分页
- tomcat管理员manager app无法进入解决方法
- URAL 1404. Easy to Hack! (模拟)
- java gui三个组件的使用
- 201521123017 《Java程序设计》第2周学习总结
- 2019年度SAP项目实践计划
- MVP模式, 开源库mosby的使用及代码分析
- Ubuntu系统建立交叉编译环境
- MySQL运用
- JavaScript的 sourcemap 的理解
- grep 打印相关行内容
- 【译】第十篇 SQL Server安全行级安全
- express package.json解析
- PHP 单点登录实现方案