一、子查询补充:

Exists的用法:
select*from haha where exists(select*from bumen where bumen.code=haha.bumen,and bumen.name='销售部')and age>35--相当于循环嵌套语句
一般用法:=
select*from haha where bumen=(select code from bumen where name='销售部')and age>35--括号里面查询出来的当作参数使用
二、连接查询

子查询不仅能放在where后当作条件使用

原句:句式一:Select name,sex,age,bumen from haha

替换句,将haha里的bumen替换成bumen里的code:句式二:Select name,sex,age,(select name from bumen where bumen.code=haha.bumen)as 部门,(select ceo from bumen where bumen.code=haha.bumen) from haha

以上就是连接查询的格式。

简化连接查询语句格式:Select.haha.name,sex,age,bumen.name,ceo from haha,bumen where haha.bumen=bumen.code

还能放在select.和from 中间使用。相当于一个转换函数,查询出来的必须是一行一列。

表与表哪个表在前面就先执行哪个表的查询,必须在表与表之间存在连接关系时才能使用。

1、横向联合

拼接查询--join...on...(将两个表拼在一起显示,最多三个表)

Select haha.name,sex,age,bumen.name,ceo from haha

Join bumen on haha.bumen=bumen.code--将join之后的语句加入到上面的表中。

【注意事项】查询到的结果必须是在select..from之间写出来才能显示。

Join前面可以加三种修饰符:

1)Full join...on

加full:全部列出数据,把两个表中的数据全部显示出来,即使其中一个表中的数据与另一表没有任何关系。

2)Left join..on

加Left:(通过关系显示)显示左边表中的全部数据,按照左边表的顺序排列,而右边表的数据则通过关系排列,右边没有关系的不显示。

3)Right join..on

加right:(通过关系显示)显示右边表的全部数据,按照右表的顺序排序,而左边表的数据通过关系排列,左边没有关系的不显示。

2、纵向联合union:

一个表存放现有数据,另一个表存放已删除的数据.

列必须要对应一致。

1)、将haha表中年龄>40岁或者年龄

Select * from haha where age>40

Union

Select * from haha where age<30

2)、将haha表中name,bumen和bumen表中的ceo,code查询,同时出现在同一个表中

select name,bumen from haha

Union

Select ceo,code,from bumen

【注意事项】1.具备自动去重的功能。

2.数据类型必须对应一致

【案例1】--创建学生信息表:学号、姓名、班级、性别、语文教师编号、数学教师编号、英语教师编号

--创建教师表:教师编号、姓名、课程、性别、出生日期

--创建分数表:语文分数、数学分数、英语分数、学生学号

--分别插入虚拟数据,之后进行查询操作:

约束 除了主键/外键约束,还有其他的约束
1、设置唯一性约束(作为候选索引)提前设置好,防止录入出错;
只要是设置了唯一性的列都可以作为外键使用。
方法二:需要设置唯一键的列名直接加unique.
 例:cid varchar(50) unique
 
2、查看查询代码

3、check约束

表达式可以用and连接(可以加多个表达式),等同于where 条件

最新文章

  1. 【小白的CFD之旅】06 流体力学基础
  2. 【Java EE 学习 15】【自定义数据库连接池之动态代理的使用】
  3. lucene 3.0.2 中文分词
  4. Windows8.1 preview硬盘安装(图解)
  5. php 数组 (3) reset() end() count() current() key()
  6. 四大组件之BroadcastReceiver基础
  7. 第六章 对象-javaScript权威指南第六版(四)
  8. Golang Go Go Go part2:变量及常量声明
  9. spring统一错误响应设置
  10. 小程序获取formid配置模板消息
  11. Oracle 12c 安装问题及解决方案
  12. HBase Python API
  13. pymysql下报错:numpy.float64 object has no attribute &#39;translate&#39; 可能是pandas版本的问题
  14. 六、Prototype 原型设计模式
  15. [剑指Offer]11-旋转数组的最小数字(二分查找)
  16. 腾讯优图联手Science发布主题报告:计算机视觉的研发和应用
  17. Storm:分布式流式计算框架
  18. C#关于操作符重载与转换
  19. Leetcode 之Wildcard Matching(32)
  20. Cocos2d-x3.2 LayerMultiplex使用说明

热门文章

  1. uboot初识
  2. linux-memcache安装及memcached memcache扩展
  3. java代码转化为jar包,再转化为.exe文件步骤
  4. STL容器概述
  5. CentOS7部署CDH6.0.1大数据平台
  6. 5.css3盒模型--margin/border/padding/content
  7. 前端开发HTML&amp;css入门——一些其他常用的文本标签
  8. LOAD - 装载或重载一个共享库文件
  9. Ant Design -- 图片可拖拽效果,图片跟随鼠标移动
  10. python基础操作---list