一、测试题

二、复习

说明:sql中的函数分为单行函数和分组函数

调用语法:select 函数名(实参列表);

1》字符函数

concat(str1,str2,..):拼接字符

substr(str,pos):截取从pos开始的所有字符, 起始索引从1开始

substr(str,pos,len):截取len个从pos开始的字符,起始索引从1开始

length(str):获取字节个数

char_length(str):获取字符个数

upper(str):变大写

lower(str):变小写

trim(【substr from】str):去前后指定字符,默认是去空格

left(str,len):从左边截取指定len个数的 字符

right(str,len):从右边截取指定len个数的 字符

lpad(str,substr,len):左填充

rpad(str,substr,len):右填充

strcmp(str1,str2):比较两个字符的大小

instr(str,substr):获取substr在str中第一次出现的索引

2》数学函数

ceil(x):向上取整

floor(x):向下取整

round(x,d):四舍五入

mod(x,y):取模/取余

truncate(x,d):截断,保留小数点后d位

abs(x):求绝对值

3》日期函数

now():获取当前日期——时间

curtime():只有时间

curdate():只有日期

date_format(date,格式):格式日期为字符

str_to_date(str,格式):将字符转换成日期

datediff(date1,date2):获取两个日期之间的天数差

year(date)

month(date)

...

4》流程控制函数

①if(条件,表达式1,表达式2):如果条件成立,返回表达式1,否则返回表达式2

②case 表达式

when 值1 then 结果1

when 值2 then 结果2

...

else 结果n

end

case

when 条件1 then 结果1

when 条件2 then 结果2

...

else 结果n

end

5、分组函数 ★

sum求和

avg平均

max最大

min最小

count个数

特点:

1》实参的字段的类型,sum和avg只支持数值型,其他三个可以支持任意类型

2》这五个函数都忽略null值

3》count可以支持以下参数

count(字段):查询该字段非空值 的个数

count(*) :查询结果集的行数

count(1):查询结果集的行数

4》分组函数可以和distinct搭配使用,实现去重的统计

select count(distinct 字段) from 表;

6、分组查询 ★

语法:

select 分组函数,分组的字段

from 表名

where 分组前的筛选条件

group by 分组列表

having 分组后的筛选条件

order by 排序列表;

特点:

1》分组列表可以是单个字段、多个字段

2》筛选条件分为两类

7、连接查询 ★

说明:当查询中涉及到了多个字段,则需要通过多表连接

笛卡尔乘积:

出现原因:没有有效的连接条件

解决办法:添加有效的连接条件

--------------------------SQL92语法------------------------

语法:

select 查询列表

from 表1 别名,表2 别名,...

where 连接条件

and 筛选条件

group by 分组列表⑤

having 分组后筛选⑥

order by 排序列表;⑦

执行顺序:

②③④⑤⑥①⑦

--------------------------SQL99语法------------------------

1》内连接

语法:

select 查询列表 ①

from 表1 别名②

【inner】 join 表2 别名 on 连接条件 ③

【inner】 join 表3 别名 on 连接条件

where 筛选条件 ④

group by 分组列表⑤

having 分组后的筛选⑥

order by 排序列表⑦

执行顺序:

②③④⑤⑥①⑦

三、外连接

99语法才有

full全连接

4、总结连接

5、

6、子查询

单行子查询

8、多行子查询

any是任意一个的意思

<any

<max(salary)

表子查询

10、分页查询

从0开始计数

联合查询

类型要相同

列数要相同,不可以不同

只有一一对应才有意义

DDL语句

数据定义语言

修改数据库就是表的修改

介绍常见的数据类型

总结

常见约束

一个表只能有一个主键

三个都选,则是三个有不同就可以

修改表

最新文章

  1. Java NIO使用及原理分析(1-4)(转)
  2. 【oracle】union、union all、intersect、minus 的用法及区别
  3. 2.2 C#的注释
  4. MVC 自定义异常错误页面处理
  5. 关于AndroidManifest.xml
  6. 一步一步学c#(六):数组
  7. Android锁定屏幕或关闭状态-screen,高速按两次音量向下键来实现拍摄功能(1.1Framework在实现的形式层广播)
  8. .NET/ASP.NETMVC Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(一)
  9. Docker 学习5 Docker容器网络
  10. 2015年旧闻 CNNIC发布伪造CA证书
  11. CentOS7系统上的GPSTK示例代码调试 &amp; 运行结果 &amp; 心得
  12. jvisualVM的使用
  13. ORA-12541:TNS:无监听程序 解决办法
  14. Markdown文本的学习
  15. DP的各种优化(动态规划,决策单调性,斜率优化,带权二分,单调栈,单调队列)
  16. 第16月第25天 tableView设置UITableViewStyleGrouped顶部有空余高度
  17. 第三次Sprint计划
  18. 启动虚拟机报错VMware Workstation cannot connect to the virtual machine
  19. face alignment---各种算法框架
  20. Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!

热门文章

  1. ROS 安装完成后运行小乌龟示例程序
  2. mysql一张表到底能存多少数据?
  3. 移动端时间回显iphone出现的问题
  4. 链接服务器sql语句
  5. Socket实现简单聊天
  6. 第一篇文章 vim的使用
  7. 检查字符串是否包含另一串字符串(c++)
  8. 大话Spark(5)-三图详述Spark Standalone/Client/Cluster运行模式
  9. 巧用 -webkit-box-reflect 倒影实现各类动效
  10. 操作系统---在内核中重新加载GDT和堆栈