当前位置:Gxlcms > 数据库问题 > Mysql查询

Mysql查询

时间:2021-07-01 10:21:17 帮助过:26人阅读

一:简单查询
1. and、or、not
如果and与or共同出现在where条件中,则and的优先级高。
查询remark不为null的记录
select * from student where remark is not null;

2. 模糊查询(like)
通配符:% 任意个数的任意字符
eg:将姓名中含有‘东‘字的学生信息查出来
select * from student where name like ‘%东%‘;

_ 代表一个字符
eg: 将姓名中第二个字为‘京‘的人查询出来
select * from student where name like ‘_京%‘;

3.对查询结果排序
order by 字段名1[desc],字段名2[desc]...;

4.限制数量的查询
limit 查询数量;
limit 查询记录的初始偏移量(从0开始计算偏移量),查询数量;

eg:
查询student表中的前三条记录
select * from student limit 3;
查询第2到第4条记录
select * from student limit 1,3;

查询前三名的学生信息;
select * from student order by score desc limit 3;

二、分组查询
1. 聚合函数
max(字段) 返回某字段的最大值 eg: select max(price) from product;
min(字段) 返回某字段的最小值 eg: select min(price) from product;
sum(字段) 返回某字段的和
avg(字段) 返回某字段的平均值
count(*) 返回记录数
count(字段名) 返回不为null的某个字段的记录数

2.分组查询
group by 字段名1,字段名2 [having 条件]
注意:在分组查询时,select后面的字段名必须与group by后面的分组字段一致,当然,
select后也可跟聚合函数(用来计算分组后每组的信息)。
如果分组字段与查询字段不一致,则查询结果无意义。
eg:
按照种类分组,并计算每组的平均价格:
select kind,avg(price) from product group by kind;

只查询水果组的平均价格。
select kind,avg(price) from product group by kind having kind=‘水果‘;

三:子查询(内层查询)
子查询中的关键字
1.any(some)
any是在关系运算符后出现的,表示只要符合子查询结果中的任何一个数据。

2.all
all是在关系运算符后出现的,表示符合子查询结果中的所有数据。

3.exists
如果子查询的结果中至少存在一行记录,则返回true.
not exists 如果子查询的结果中不存在记录,则返回true.

4.in
如果外层查询的字段包含于子查询的结果列表中,则返回该外层查询的记录。
not in

四:连接查询
1.等值连接
select 列1,列2... from 表1,表2 where 连接条件;

2.外连接
左外连接(left join): 左表中的记录全部查询出,右表只查询出符合连接条件的记录。
select 列1,列2... from 左表 left join 右表 on 连接条件;
eg:
select student.name,school.school_name from student left join school
on student.school_id=school.id;

右外连接(right join):右表中的记录全部查询出,左表只查询出符合连接条件的记录。
select 列1,列2... from 左表 right join 右表 on 连接条件;

3.内连接
select 列1,列2... from 表1 inner join 表2 on 连接条件;

五:外键(Foreign Key)约束
主要用来设置“一对多”的两张表的关联关系。
外键在子表中设置,用来与父表关联。
create table emp(
id int primary key auto_increment,
emp_name varchar(10) not null,
dept_id int not null,
constraint fk_emp foreign key(dept_id) references dept(id)
);
alter table emp drop foreign key fk_emp; // 删除外键








Mysql查询

标签:drop   简单   sts   运算符   primary   聚合函数   内连接   表关联   最大   

人气教程排行