3

MySQL高级语句(一)

 2 years ago
source link: https://blog.csdn.net/m0_51160032/article/details/121667420
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

目录

一、SQL高级语句

1.导入文件至数据库

2. select

3. distinct

4.where

5.and;or

6.in

7.between

8.like 通配符

9. order by

10.函数

10.1数学函数

10.2 聚合函数

10.3字符串函数

11.group by

12.having

13.别名

14.连接查询

1)inner join(等值相连)

2)left join(左联接)

3)right join(右联接)

15.子查询

16.EXISTS


一、SQL高级语句

1.导入文件至数据库

2. select

显示表格中的一个或者多个字段中所有的信息

3. distinct

查询不重复记录

4.where

where 有条件的查询

5.and;or

and 且 ; or 或

6.in

显示已知值的资料

7.between

显示两个值范围内的资料

8.like 通配符

通配符通常是和 like 一起使用

通配符含义%表示零个,一个或者多个字符_下划线表示单个字符A_Z所有以A开头 Z 结尾的字符串 'ABZ' 'ACZ' 'ACCCCZ'不在范围内 下划线只表示一个字符 AZ 包含a空格zABC%所有以ABC开头的字符串 ABCD ABCABC%CBA所有以CBA结尾的字符串 WCBA CBACBA%AN%所有包含AN的字符串 los angeles_AN%所有 第二个字母为 A 第三个字母 为N 的字符串

9. order by

order by 按关键字排序

10.函数

10.1数学函数

函数含义abs(x)返回x 的 绝对值rand()返回0到1的随机数mod(x,y)返回x除以y以后的余数power(x,y)返回x的y次方round(x)返回离x最近的整数round(x,y)保留x的y位小数四舍五入后的值sqrt(x)返回x的平方根truncate(x,y)返回数字 x 截断为 y 位小数的值ceil(x)返回大于或等于 x 的最小整数floor(x)返回小于或等于 x 的最大整数greatest(x1,x2.....)返回返回集合中最大的值least(x1,x2..........)返回返回集合中最小的值

10.2 聚合函数

函数含义avg()返回指定列的平均值count()返回指定列中非 NULL 值的个数min()返回指定列的最小值max()返回指定列的最大值sum(x)返回指定列的所有值之和

10.3字符串函数

函数描述trim()返回去除指定格式的值concat(x,y)将提供的参数 x 和 y 拼接成一个字符串substr(x,y)获取从字符串 x 中的第 y 个位置开始的字符串,跟substring()函数作用相同substr(x,y,z)获取从字符串 x 中的第 y 个位置开始长度为z 的字符串length(x)返回字符串 x 的长度replace(x,y,z)将字符串 z 替代字符串 x 中的字符串 yupper(x)将字符串 x 的所有字母变成大写字母lower(x)将字符串 x 的所有字母变成小写字母left(x,y)返回字符串 x 的前 y 个字符right(x,y)返回字符串 x 的后 y 个字符repeat(x,y)将字符串 x 重复 y 次space(x)返回 x 个空格strcmp(x,y)比较 x 和 y,返回的值可以为-1,0,1reverse(x)将字符串 x 反转

1)trim

2)length

3)replace

select replace(name,'ua','hh') from students;

4)concat

4)substr

11.group by

  • 对group by 后面的字段的查询结果进行汇总分组,通常是结合聚合函数一起使用的

  • group by 有一个原则,就是select 后面的所有列中,没有使用聚合函数的列必须出现在 group by 的后面。

12.having

  • having:用来过滤由group by语句返回的记录集,通常与group by语句联合使用

  • having语句的存在弥补了where关键字不能与聚合函数联合使用的不足。如果被SELECT的只有函数栏,那就不需要GROUP BY子句。

  • 要根据新表中的字段,来指定条件

13.别名

栏位別名 表格別名

14.连接查询

1)inner join(等值相连)

只返回两个表中联结字段相等的行

SELECT * FROM students A INNER JOIN scores B on A.stuid = B.stuid;

2)left join(左联接)

返回包括左表中的所有记录和右表中联结字段相等的记录

select * from scores A left join students B on A.stuid = B.stuid;

3)right join(右联接)

select * from scores A right join students B on A.stuid = B.stuid;

15.子查询

连接表格,在WHERE 子句或HAVING 子句中插入另一个SQL语句

16.EXISTS

  • 用来测试内查询有没有产生任何结果类似布尔值是否为真

  • 如果有的话,系统就会执行外查询中的SQL语句。若是没有的话,那整个 SQL 语句就不会产生任何结果。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK