连接查询与子查询

    xiaoxiao2021-03-25  50

    连接查询

    连接查询是将两个或多个的表按某个条件连接起来,从中选取需要的数据,连接查询是同时查询两个或两个以上的表的使用的。当不同的表中存在相同意义的字段时,可以通过该字段来连接这几个表。

     

         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);

     

     

    转载请注明原文地址: https://ju.6miu.com/read-33249.html

    最新回复(0)