MySQL Day3

MySQL学习

目录


select语句

select语句的基本格式为:

select <要查询的列名> from <表名> where <限制条件>;

  • 限制条件中可以有数学符号比如(>,>=,<,<=,=)
  • 限制条件中可以使用条件逻辑关系( <条件1> or <条件2> , <条件1> and <条件2> )
  • select <列名> from <表名> where A or B;

  • select <列名> from <表名> where A and B;

  • 限制条件也可以使用关键字in或者not in查询是否在列表中
  • select <列名> from <表名> where <列名> in A;

  • select <列名> from <表名> where <列名> not in A;

  • 限定条件中也可以使用like关键字来进行模糊查找,其中通配符是%_,%代表不限定后面有几个字符,_代表后面限定一个字符
  • select <列名> from <表名> where <列名> like 'A%';(A是字符)


对结果排序

为了使结果更加顺眼,我们可以在进行输出时对某一个特定的列进行排序,使用关键字order by,普通情况是升序排序,也可以使用关键字ascdesc指定升序或者倒序。asc是升序desc是倒序

select <列名1>,<列名2>... from <表名> order by <列名1>... asc升序
select <列名1>,<列名2>... from <表名> order by <列名2>... desc降序


内置函数

有5个内置函数

函数名 作用
count 计数
sum 求和
avg 求平均值
max 求最大值
min 求最小值

count可以对任何的数据类型进行计数,sumavg只能用于数值类型的东西进行计算,minmax可以用于数值,字符串和日期时间的数据类型。

select max(<列名>),min(<列名>) from <表名>

可以用as去更改名字

select max(<列名>) as max,min(<列名>) as min from <表名>


子查询

有的时候需要查询多个表格才能知道所需要的数据,那样我们可以用子查询。

select <列名1>,count(<列名2>) as <其他名字> from <表名> group by <列名> having <列名> in ( select <列名> from <表名> where <限定条件>...... )
第二个select语句返回一个集合,第一个select语句查询第二个语句select查询返回的集合,在集合中使用in进行判断

having后面接限定条件,和where类似,但是having后面是对于分组后的数据进行查询


连接查询

在查询多个表的时候,子查询只是对于一个表才有用,而对于多个表,就得进行连接查询。可以使用join进行连接。

select <列名1>,<列名2>,<列名3>... from <表名1>,<表名2>... where <限定条件> order by <列名>...

这其中的一种写法,另一种写法是利用join on关键字

select <列名1>,<列名2>,<列名3>... from <表名1> join <表名2> on <限定条件> order by <列名?>


Day3 Over

猜你喜欢

转载自www.cnblogs.com/Yunrui-blogs/p/12411781.html