mysql学习(六)select查询

版权声明:版权归作者所有 https://blog.csdn.net/qq_36772866/article/details/86592622

查询表中1列或者多列

select cat_id,cat_name from cat;

从一个表中或者多个表中获取数据

select tb_admin.id,tb_admin.tb_user,tb_students.id,tb_student.name

查询所有字段

select * from 表名

查询指定字段

select 字段名 from 表名

例子

select user,pwd from tb_admin

指定条件查询

select * from tb_login where user="mr";

带IN关键字查询

select * from tb_login where user IN("mr","lx");

带between and关键字查询

select * from tb_login where id between 5 and 7;

带like的字符串匹配查询

% 可以匹配一个或者多个字符串,可以代表任意长的字符串,比如
_ 只匹配一个字符,
select * from tb_login where user like "%mr%";

带 IS NULL 关键字查询空值

用来判断字段的值是否为空值
select books,row from tb_book where row IS NULL;

带 AND 关键字查询

select * from tb_admin where user="mr" and section="php";

带 or 关键字查询

select * from cat where cat_id=2 or cat_id=4;

用DISTINCT关键字去除结果中的重复行

select distincr name from tb_login;

用 order by 关键字对查询结果进行排序

desc 表示降序
asc 表示升序
select * from tb_login order by id desc;

用group by 关键字分组查询

select id, books, talk from tb_book group by talk;

按多个字段分组查询

select id,books,talk,user from tb_book group by user,talk;

用limit限制查询的结果

select * from tb_login order by id asc limit 3;

count()函数

select count(*) from tb_login;
查询记录条数

sum()函数

select sum(row) from tb_login;
查询某个字段的值的综合

AVG()函数

select avg(row) from tb_login;
查询某个字段的值的均值

max()函数

select max(row) from tb_login;
查询某个字段的值的最大值

min()函数

select min(row) from tb_login;
查询某个字段的值的最小值

内连接查询

内连接查询是最普遍的链接类型,而且是最均匀的,因为他们要求构成链接的每个部分的每一个表都匹配,不匹配的行将被排除。
用=等同链接使用是最常见的
select name,books from tb_login,tb_book where tb.login,user=tb_book.user;

外连接查询

外连接是指使用outer join 关键字将两个表连接起来,外连接结果不仅包含符合链接条件的行数据,
而且还包含左表,右表,两边链接中所有的数据行

左外链接

是指将左表中的所有数据分别与右表的每一条数据进行链接组合,返回结果除内连接数据外,还包含左表中不符合条件的数据,并在右表的相应列中加NULL值

select section,tb_login.user,books,row from tb_login left join tb_book on tb_login.user=tb_book.user;

右外表链接

是指将右表的所有数据分别与左表中每条数据进行链接组合,返回的结果除内连接数据外,还包含左表中不符合条件的数据,并在左表中相应的列添加NULL
select section,tb_login.user,books,row from tb_login right join tb_book on tb_login.user=tb_book.user;

复合链接查询

增加其他限制条件
select section,tb_login.user,books,row from tb_login , tb_book where tb_login.user=tb_book.user and row>5;

带关键字 IN 的子查询

select * from tb_login where user in(select user from tb_book);

带exist关键字的子查询

select * from tb_row where exist (select * from tb_book where id=27);

带any关键字查询

select books,row from tb_book where row<any(select row from tb_row);
row<any表示小于所有值

带ALL关键字的子查询

select books,row from tb_book where row>=ALL(select row from tb_row);

猜你喜欢

转载自blog.csdn.net/qq_36772866/article/details/86592622