连接查询与子查询
来源:互联网 发布:爱狗人士杨玉华 知乎 编辑:程序博客网 时间:2024/04/28 13:56
连接查询
连接查询是将两个或多个的表按某个条件连接起来,从中选取需要的数据,连接查询是同时查询两个或两个以上的表的使用的。当不同的表中存在相同意义的字段时,可以通过该字段来连接这几个表。
1.内连接查询
内连接查询是一种最常用的连接查询。内查询可以查询两个或两个以上的表。举例说明两个表的连接查询。当该字段的值相等时,就查询出该记录。
举个栗子~
SELECT num,name,employee.d_id,sex,d_name,function
FROM employee ,department
WHERE employee.d_id=department.d_id;
2.外连接查询
基本语法:
SELECT 属性名列表
FROM 表名1 LEFT | RIGHT JOIN 表名2
ON 表名1.属性1=表名2.属性2;
- 左连接查询
进行左连接查询时,可以查出表1的表中所有记录,而表2所指的表中,只能查询出匹配的记录
- 右连接查询
进行右连接查询时,可以查出表2的表中所有记录,而表1所指的表中,只能查询出匹配的记录
3.复合·条件查询
在连接查询时,也可以增加其他的限制条件,使查询结果更加准确。
子查询
子查询是将一个查询语句嵌套在另外一个查询语句中,内层查询语句的查询结果,可以为外层查询语句提供查询条件。
举个栗子~IN
SELECT * FROM employee
WHERE d_id IN
(SELECT d_id FROM department);
还 举个栗子~比较运算符
SELECT id ,name, score FROM computer_stu
WHERE score>=
(SELECT score FROM scholarship
WHERE level=1);
还 举个栗子~EXISTS(表示存在,使用EXISTS关键字时,内层查询语句不反悔查询的记录,而是返回一个真假值)
SELECT * FROM employee
WHERE EXISTS
( SELECT d_name FROM department
WHERE d_id =1003);
还 举个栗子~ANY(表示满足其中任一条件)
如查询获得任意一个奖学金的最低分,即只要获得奖学金都满足条件
SELECT * FROM computer_stu
WHERE score >=ANY
( SELECT score FROM scholarship);
最后一个栗子~ALL(表示满足所有条件)
如查询获得最高奖学金的记录
SELECT * FROM computer_stu
WHERE score >=ALL
( SELECT score FROM scholarship);
- 连接查询与子查询
- 连接查询与子查询
- 子查询与连接
- sql子查询与连接查询
- 多表连接查询与子查询
- MySQL的子查询与连接查询
- 子查询与连接使用指南
- mysql 子查询与连接
- MySQL子查询与连接
- MYSQL子查询与连接
- MySQL子查询与连接
- mysql 子查询,连接查询
- Oracle多表连接与子查询
- Oracle表连接与子查询示例
- orale表连接与子查询
- Oracle多表连接与子查询
- Oracle多表连接与子查询
- Oracle表连接与子查询示例
- nVIDIA Jetson TX1 内核kernel编译
- 线程池测试
- [LeetCode]233. Number of Digit One
- C# ThreadAbortException
- Python3 urllib.error
- 连接查询与子查询
- bzoj1778 驱逐猪猡 [高斯消元+概率DP]
- 欢迎使用CSDN-markdown编辑器
- 菜单设置笔记
- 文章标题
- XSS漏洞解决方案之一:过滤器
- [React]初始化React项目
- L1-017. 到底有多二
- 【Rsync项目实战】备份全网服务器数据