MySQL查询的说明介绍
内部查询语句的查询结果可以为外部查询语句提供查询条件。
因为在特定的情况下,查询语句的条件需要另一个查询才能得到
参考表:雇员
参考表:部门
与关键字查询
复制代码代码如下所示:
从雇员中选择*
在d_id ->在
(选择d_id部门)->;
+ + + + ------ ------ -------- ------ ------ -------------------- + + +
Num d_id名字| | | |年龄|性| homeaddr |
+ + + + ------ ------ -------- ------ ------ -------------------- + + +
| 1 | 1001 |三| 26 | |男北京市海淀区|
| 2 | 1001 |李四| 24 |女|北京昌平区|
| 3 | 1002 |王五| 25 |男性|长沙湖南市|
+ + + + ------ ------ -------- ------ ------ -------------------- + + +
集合中的行(0秒)
在这里,第一个查询在部门表中的所有d_id领域的信息和使用结果作为条件
然后查询所有领域的信息在员工表d_id条件
不在的效果正好相反。
用比较运算符的子查询
复制代码代码如下所示:
MySQL >选择d_id,d_name部门
在d_id = >!
(选择d_id从员工那里->年龄= 24);
------ ----------- + + +
| d_id | d_name |
------ ----------- + + +
| 1002 |生产|
| 1003 |销售|
------ ----------- + + +
集合中的行(0秒)
这里有一个关于哪些部门不是24岁,看起来有点复杂的问题。
此外,还有很多运营商,而且已经没有了。
与存在的关键字查询
存在关键字表示存在。当使用存在关键字时,内部查询语句不返回查询记录,但返回一个真值和false值。如果内层查询正在查询满足条件的记录,它将返回true,否则将返回false。
当返回值为true时,外部查询语句将被查询,否则查询将不被查询。
复制代码代码如下所示:
从雇员中选择*
哪里>存在
(选择d_name从部门-> d_id = 1004);
空集(0秒)
内部循环不查询满足条件的结果,因此返回false,而外部查询不执行。
不存在只是它的反面。
当然,存在的关键字可以与其他查询条件一起使用。
条件表达式与(或)存在关键字连接。
复制代码代码如下所示:
从雇员中选择*
年龄>24,存在> >
(选择d_name从部门-> d_id = 1003);
+ + + + ------ ------ -------- ------ ------ -------------------- + + +
Num d_id名字| | | |年龄|性| homeaddr |
+ + + + ------ ------ -------- ------ ------ -------------------- + + +
| 1 | 1001 |三| 26 | |男北京市海淀区|
| 3 | 1002 |王五| 25 |男性|长沙湖南市|
+ + + + ------ ------ -------- ------ ------ -------------------- + + +
集合中的行(0秒)
与任何关键字查询
任何关键字表示满足任何条件。
复制代码代码如下所示:
从雇员中选择*
=任何-> d_id!
(选择d_id部门)->;
+ + + + ------ ------ -------- ------ ------ -------------------- + + +
Num d_id名字| | | |年龄|性| homeaddr |
+ + + + ------ ------ -------- ------ ------ -------------------- + + +
| 1 | 1001 |三| 26 | |男北京市海淀区|
| 2 | 1001 |李四| 24 |女|北京昌平区|
| 3 | 1002 |王五| 25 |男性|长沙湖南市|
| 4 | 1004 | ARIC | 15 |男性|英国|
+ + + + ------ ------ -------- ------ ------ -------------------- + + +
集合中的行(0秒)
与所有的关键词查询
所有关键字表示满足所有条件。
复制代码代码如下所示:
从雇员中选择*
在-> d_id > =所有
(选择d_id部门)->;
+ + + + ------ ------ ------ ------ ------ ---------- + + +
Num d_id名字| | | |年龄|性| homeaddr |
+ + + + ------ ------ ------ ------ ------ ---------- + + +
| 4 | 1004 | ARIC | 15 |男性|英国|
+ + + + ------ ------ ------ ------ ------ ---------- + + +
集合中的行(0秒)
我不知道这两种说法是暂时的。
合并合并查询结果
复制代码代码如下所示:
MySQL >选择d_id员工
->联盟
d_id部门->选择;
------ + +
| d_id |
------ + +
1001 | |
1002 | |
1004 | |
1003 | |
------ + +
集合中的行(0秒)
合并是很好理解的,即合并多个查询的结果,然后删除重复记录。
如果要保存重复记录,可以使用联合声明