mysql整理(五),查询数据

查询模型:

SELECT 

             字段列表

             FROM 表1,表2。。

             GROUP BY

             HAVING

             ORDERY BY

             LIMIT

 内连接:INNER JOIN

自连接

SELECT F1.id,F1.name 

  From fruits  as F1, fruits AS F2

  WHERE F1.id = F2.id AND F2.F_id = "a1";

自连接按照第二个表对数据进行过滤.

外连接:

内连接查询INNER JOIN返回的数据查询结果仅仅是符合查询条件的,

有时候我们还希望包含没有关联的数据,所以就有了外连接

LEFT  JOIN 返回包括左表所有数据和右表链接字段相等的记录。

RIGHT JOIN。返回包括右表所有数据和左表链接字段相等的记录。

子查询:

将外部查询每一条数据带入子查询中做处理,外查询根据子查询条件结果判断是否显示一条数据。

ANY

SELECT num1 FROM tb1 WHERE num1 > ANY(SELECT num2 FROM tb2);

num1大于ANY中的任何值都返回true

ALL

SELECT num1 FROM tb1 WHERE num1 > ALL(SELECT num2 FROM tb2);

num1 大于ALL中的所有值才为true。

EXISTS:

注意只要EXISTS内的子查询里返回至少一行那么EXISTS结果是true 不是数据。

将外查询每一个值带入到exists中只要返回true 那么外查询就会显示一条数据。

SELECT num1 FROM tb1 WHERE EXISTS(SELECT num2 FROM abc WHERE tb1.num1 = abc.num2)

合并查询结果

UNION ALL(包含重复行)

UNION  (不重复)

猜你喜欢

转载自www.cnblogs.com/thotf/p/12602871.html
今日推荐