SQL高级查询与子查询操作
SQL高级查询与子查询操作
- MySQL基础查询语句
1.Select*from 表 order by 字段[ASC默认/DESC]; 【排序】
升序(从小到大)ASC,降序(从大到小)DESC
·已知字段进行排列
·不知道字段用数字表示第几个字段
·根据学号倒序排列
通过order by 可以猜到表中有多少个字段
2.select *from表limit n,m;(n表示从第几行开始,m表示取第几条)【分页】
3.select*from表where username like ‘%%’;【模糊查询】
·查询表中所有字符a的数据:select*from bjb where xm like ‘%a%’;
·查询以a开头的数据 (a%)
select*from bjb where xm like ‘a%’;
·查询以a结尾的数据(%a)
select*from bjb where xm like ‘%a’;
·select*from bjb where xm= ’admin’;如果不允许输入“=”号
则:select*from bjb where xm like ’admin’;
4.运算符号:+-*/%
%取余
/取整
5.逻辑运算
·NOT(!) 非
·AND(&) 与
·OR(|) 或
编程中会用(true,false)(1,0)进行判断
6.sleep() 【延时】
Select sleep(3) 延时3秒
- 联合查询(将两个查询语句的内容一起输出)
- 表内内容无重复:
Select *from 表1 union select*from 表2;
- 表内内容有重复:
Select*from 表1 union all select*from 表2;
字段名取union前面的那个字段名
3.注意:两次查询的列数必须一致
- 子查询
- 官方定义:子查询是一种常用的计算机语言,select –SQL语言中嵌套查询下层的程序模块,当一个查询是另一个查询的条件时,称之为子查询。
- 通俗理解为:子查询就像 1+2*2=5 (1+2)*2=6 子查询就是优先执行,然后执行得到的结果作为某个查询的条件。