1.数据库分类

关系型 非关系型

2.sql语句分类

sql: ddl数据库定义语言  tpl事物处理语言 dcl数据控制语言  dml数据操作语言(insert delete update select)

增加数据库处理效率 减少相应时间

减少数据库服务器负载 增加服务器稳定性

减少服务器间通讯网络流量

3.join语句

inner(内连接)

--inner join

内连接inner join基于连接谓词将两张表(如A和B)的列组合在一起,产生新的结果表

select <select_list> from tableA A inner join tableB B on A.key=B.key;

(select a.`user_name`,a.`over`,b.`over` from user1 a inner join user2 b on a.`user_name`=b.`user_name`;)

full outer(全外连接)

--full join

(如何在mysql中使用full join??)

join操作类型-full join

select a.`user_name`,a.`over`,b.`over`

from user1 a

left join user2 b on a.`user_name`=b.`user_name`

union

select b.`user_name`,b.`over`,a.`over`

from user1 a

right join user2 b on a.`user_name`=b.`user_name`

left outer(左外连接)

--left join

select a.`user_name`,a.`over`,b.`over` from user1 a left join user2 b on a.`user_name`=b.`user_name` where b.user_name is null;

right outer(右外连接)

--right join(同left join)

cross(交叉连接)

--cross join

笛卡尔查询

4.join语句

更新使用过滤条件中包括自身的表

联合更新

update user1 a join(

select b.`user_name` from user1 a inner join user2 b on

a.`user_name`=b.`user_name`

) b on a.`user_name`=b.`username`

set a.over = 'qitiandasheng';

5.使用join优化子查询

6.使用join优化聚合子查询

查询四人组中打怪最多的日期(避免子查询)

select a.`username`,b.`timstr`,b.kills from user1 a join user_kills b on a.id = b.user_id where

b.kills = (select max(c.kills) from user_kills c where c.user_id=b.user_id);

select a.user_name,b.timestr,b.kills from user1 a

join user_kills b on a.id = b.user_id

join user_kills c on c.user_id = b.user_id

group by a.user_name,b.timestr,b.kills

having b.kills = MAX(c.kills);

group by 分组查询

当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下:
--执行where子句查找符合条件的数据;
--使用group by 子句对数据进行分组;对group by 子句形成的组运行聚集函数计算每一组的值;最后用having 子句去掉不符合条件的组。
--having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.
--having子句和where子句都可以用来设定限制条件以使查询结果满足一定的条件限制。
--having子句限制的是组,而不是行。where子句中不能使用聚集函数,而having子句中可以。

最新文章

  1. Android:使用代理服务器安装SDKs
  2. c++实现kd树
  3. 【BZOJ-4435】Juice Junctions 最小割树(分治+最小割)+Hash
  4. AlwaysOn可用性组功能测试(三)--其他测试
  5. CSS Questions:Front-end Developer Interview Questions
  6. 防止重复发送 Ajax 请求
  7. postgresql 函数 参数为复合类型
  8. 树状数组的笔记√(hzwer blog)
  9. 《RedHatLinux系统修复视频(通过本地镜像)》
  10. SQL Server2012连接SQL Server2000完美解决方案
  11. 一道试题引发的血案 int *ptr2=(int *)((int)a+1);
  12. Win10 MySQL-python
  13. html的语法注意事项
  14. SMO实现
  15. poi 工具类
  16. YIi url美化
  17. java基础学习之接口
  18. android 使用get和post将数据提交到服务器
  19. BZOJ.2002.Bounce 弹飞绵羊(LCT)
  20. 团队-UML

热门文章

  1. java代码I/O类
  2. 转:InnoDB Page Structure(InnoDB页面结构详解)
  3. PowerDesigner中添加约束
  4. redis学习二 排序
  5. Java enum(枚举)使用详解之四
  6. 01-19asp.net基础--网站登录及验证
  7. iOS多线程各种安全锁介绍 - 线程同步
  8. (修改)oracle11g监听多台主机配置,用pl/sql连接操作多个数据库详解
  9. java.lang.Class.getDeclaredMethod()方法详解
  10. &lt;!doctype html&gt;这个是干什么的???