精华内容
下载资源
问答
  • MySQL联结查询

    2018-02-24 12:17:00
    SQL中,联结主要分为6种类型: 1.内联结 将两张表的公共的数据显示出来,即显示两张表的交集: SELECT <list> FROM A INNER JOIN B ON A.key = B.key; 2.左外联结 将两张表中,只存在于左表中而不...

    SQL中,联结主要分为6种类型:

    1.内联结

    将两张表的公共的数据显示出来,即显示两张表的交集:

    SELECT <list> FROM A INNER JOIN B ON A.key = B.key;

    2.左外联结

    将两张表中,只存在于左表中而不存在于右表中的数据筛选出来:

    SELECT <list> FROM A LEFT JOIN B ON A.key = B.key WHERE B.key IS NULL;

    如果不加后面的where子句,会将两张表的共同部分也显示出来。

    3.右外联结

    将两张表中,只存在于右表中而不存在于左表中的数据筛选出来:

    SELECT <list> FROM A RIGHT JOIN B ON A.key = B.key WHERE A.key IS NULL;

    如果不加后面的where子句,会将两张表的共同部分也显示出来。

    4.全联结

    将两张表中所有记录都显示出来,即获取两张表的并集。但是MySQL中并不支持全联结操作,需要人为将左外联结和右外联结合并:

    SELECT <list> FROM A LEFT JOIN B ON A.key = B.key
    UNION ALL
    SELECT <list> FROM A RIGHT JOIN B ON A.key = B.key; 这里union all允许重复数据的存在,如果需要去重则使用union

    5.交叉联结

    又称笛卡尔积联结,返回左表乘以右表的所有条目:

    SELECT <list> FROM A CROSS JOIN B;

    6.自联结

    对同一张表进行联结操作:

    SELECT p1.id, p1.name FROM products AS p1, products AS p2 WHERE p1.vend_id = p2.vend_id AND p2.id = 10;

     

    转载于:https://www.cnblogs.com/00986014w/p/8465083.html

    展开全文
  • mysql 联结查询

    2016-03-07 18:36:00
    MySQL联合查询效率较高,以下例子来说明联合查询(内联、左联、右联、全联)的好处: T1表结构(用户名,密码) userid(int) usernamevarchar(20) passwordvarchar(20) 1 jack jackpwd 2 owen ...

    MySQL联合查询效率较高,以下例子来说明联合查询(内联、左联、右联、全联)的好处:


    T1表结构(用户名,密码)   
    userid(int)   usernamevarchar(20)   passwordvarchar(20)   
    1   jack  jackpwd   
    2   owen  owenpwd   


    T2表结构(用户名,密码)   
    userid(int)   jifenvarchar(20)   dengjivarchar(20)   
        1   20   3   
        3   50   6   


    第一:内联(inner join)
    如果想把用户信息、积分、等级都列出来,那么一般会这样写:

    select * from T1, T3 where T1.userid = T3.userid
    (其实这样的结果等同于select * from T1 inner join T3 on T1.userid=T3.userid )。

    把两个表中都存在userid的行拼成一行(即内联),但后者的效率会比前者高很多,建议用后者(内联)的写法。

    SQL语句:
    select * from T1 inner join T2 on T1.userid = T2.userid

    运行结果   
    T1.userid   username   password   T2.userid   jifen   dengji   
    1   jack   jackpwd   1   20   3   



    第二:左联(left outer join)
    显示左表T1中的所有行,并把右表T2中符合条件加到左表T1中;
    右表T2中不符合条件,就不用加入结果表中,并且NULL表示。

    SQL语句:
    select * from T1 left outer join T2 on T1.userid = T2.userid

    运行结果   
    T1.userid   username   password   T2.userid   jifen   dengji   
    1   jack   jackpwd   1   20   3   
    2   owen   owenpwd   NULL   NULL   NULL   



    第三:右联(right outer join)。
    显示右表T2中的所有行,并把左表T1中符合条件加到右表T2中;
    左表T1中不符合条件,就不用加入结果表中,并且NULL表示。

    SQL语句:
    select * from T1 right outer join T2 on T1.userid = T2.userid

    运行结果   
    T1.userid   username   password   T2.userid   jifen   dengji   
    1   jack   jackpwd   1   20   3   
    NULL   NULL   NULL   3   50   6   



    第四:全联(full outer join)
    显示左表T1、右表T2两边中的所有行,即把左联结果表 + 右联结果表组合在一起,然后过滤掉重复的。

    SQL语句:
    select * from T1 full outer join T2 on T1.userid = T2.userid
     
    运行结果   
    T1.userid   username   password   T2.userid   jifen   dengji   
    1   jack   jackpwd   1   20   3   
    2   owen   owenpwd   NULL   NULL   NULL   
    NULL   NULL   NULL   3   50   6   

    总结,关于联合查询,效率的确比较高,4种联合方式如果可以灵活使用,基本上复杂的语句结构也会简单起来。

    转载于:https://www.cnblogs.com/cuitrek/p/5251488.html

    展开全文
  • 联结查询  1.关系表  主键:一列或一组列,能够唯一区分表中的每一行,用来表示一个特定的行  外键:为某个表中的一列,包含另一个表的主键,定义量表的关系。  2.创建联结  规定要连接的表和他们如何关联...

    联结查询

      1.关系表

        主键:一列或一组列,能够唯一区分表中的每一行,用来表示一个特定的行

        外键:为某个表中的一列,包含另一个表的主键,定义量表的关系。

      2.创建联结

        规定要连接的表和他们如何关联即可

        在联结两个表时,将第一个表中的每一行与第二个表中的每一行配对,where子句作为过滤条件,只包含那些匹配给定的条件。如果不加where,返回检索数目为两表行数的乘积,也就是笛卡尔积。

    内联接

      用典型的联接运算,使用像 =  或 <> 之类的比较运算符,包括相等联接和自然联接。使用:table1 inner join table2 on 条件,on传递联结条件

    select user.*,orders.* from user inner join orders on user.u_id=orders.o_buyer_id;
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    | u_id | u_name | u_pwd  | u_truename | u_role | u_email      | o_id | o_buyer_id | o_seller_id | o_totalprices | o_state | o_information |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    |    1 | z3     | aaaaa  | zhang3     | seller | zhang@qq.com |    1 |          1 |           1 |           2.5 | sale    | qianbi        |
    |    2 | w5     | aaabbb | wang5      | buyer  | wang@163.com |    2 |          2 |           2 |           3.5 | sale    | xiangpi       |
    |    3 | ll     | cccbbb | lili       | buyer  | li@163.com   |    3 |          3 |           3 |             3 | empty   | wenjuhe       |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+

    外联结

      1.左外联结

      LEFT  JOIN或LEFT OUTER JOIN,左向外联接的结果集包括  LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

    select user.*,orders.* from user left join orders on user.u_id=orders.o_buyer_id;
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    | u_id | u_name | u_pwd  | u_truename | u_role | u_email      | o_id | o_buyer_id | o_seller_id | o_totalprices | o_state | o_information |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    |    1 | z3     | aaaaa  | zhang3     | seller | zhang@qq.com |    1 |          1 |           1 |           2.5 | sale    | qianbi        |
    |    2 | w5     | aaabbb | wang5      | buyer  | wang@163.com |    2 |          2 |           2 |           3.5 | sale    | xiangpi       |
    |    3 | ll     | cccbbb | lili       | buyer  | li@163.com   |    3 |          3 |           3 |             3 | empty   | wenjuhe       |
    |    4 | xh     | adadad | xiaohong   | seller | hong@163.com | NULL |       NULL |        NULL |          NULL | NULL    | NULL          |
    |    5 | xm     | kkkkk  | xiaoming   | seller | ming@qq.com  | NULL |       NULL |        NULL |          NULL | NULL    | NULL          |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+

      2.右外联结

      RIGHT  JOIN 或 RIGHT  OUTER  JOIN,右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

    user在左orders在右

    select user.*,orders.* from user right join orders on user.u_id=orders.o_buyer_id;
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    | u_id | u_name | u_pwd  | u_truename | u_role | u_email      | o_id | o_buyer_id | o_seller_id | o_totalprices | o_state | o_information |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    |    1 | z3     | aaaaa  | zhang3     | seller | zhang@qq.com |    1 |          1 |           1 |           2.5 | sale    | qianbi        |
    |    2 | w5     | aaabbb | wang5      | buyer  | wang@163.com |    2 |          2 |           2 |           3.5 | sale    | xiangpi       |
    |    3 | ll     | cccbbb | lili       | buyer  | li@163.com   |    3 |          3 |           3 |             3 | empty   | wenjuhe       |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+

    orders在左user在右

    select user.*,orders.* from orders right join user on user.u_id=orders.o_buyer_id;
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    | u_id | u_name | u_pwd  | u_truename | u_role | u_email      | o_id | o_buyer_id | o_seller_id | o_totalprices | o_state | o_information |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    |    1 | z3     | aaaaa  | zhang3     | seller | zhang@qq.com |    1 |          1 |           1 |           2.5 | sale    | qianbi        |
    |    2 | w5     | aaabbb | wang5      | buyer  | wang@163.com |    2 |          2 |           2 |           3.5 | sale    | xiangpi       |
    |    3 | ll     | cccbbb | lili       | buyer  | li@163.com   |    3 |          3 |           3 |             3 | empty   | wenjuhe       |
    |    4 | xh     | adadad | xiaohong   | seller | hong@163.com | NULL |       NULL |        NULL |          NULL | NULL    | NULL          |
    |    5 | xm     | kkkkk  | xiaoming   | seller | ming@qq.com  | NULL |       NULL |        NULL |          NULL | NULL    | NULL          |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+

    完全联结

      FULL  JOIN 或 FULL OUTER JOIN完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。mysql不支持

    交叉连接 

      将两个表的所有行进行组合,连接后的行数为两个表的乘积数(笛卡尔积),相当于用两表联结时不用where加联结条件,FROM 表名1 CROSS JOIN 表名2

    select user.*,orders.* from user cross join orders;
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    | u_id | u_name | u_pwd  | u_truename | u_role | u_email      | o_id | o_buyer_id | o_seller_id | o_totalprices | o_state | o_information |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+
    |    1 | z3     | aaaaa  | zhang3     | seller | zhang@qq.com |    1 |          1 |           1 |           2.5 | sale    | qianbi        |
    |    1 | z3     | aaaaa  | zhang3     | seller | zhang@qq.com |    2 |          2 |           2 |           3.5 | sale    | xiangpi       |
    |    1 | z3     | aaaaa  | zhang3     | seller | zhang@qq.com |    3 |          3 |           3 |             3 | empty   | wenjuhe       |
    |    2 | w5     | aaabbb | wang5      | buyer  | wang@163.com |    1 |          1 |           1 |           2.5 | sale    | qianbi        |
    |    2 | w5     | aaabbb | wang5      | buyer  | wang@163.com |    2 |          2 |           2 |           3.5 | sale    | xiangpi       |
    |    2 | w5     | aaabbb | wang5      | buyer  | wang@163.com |    3 |          3 |           3 |             3 | empty   | wenjuhe       |
    |    3 | ll     | cccbbb | lili       | buyer  | li@163.com   |    1 |          1 |           1 |           2.5 | sale    | qianbi        |
    |    3 | ll     | cccbbb | lili       | buyer  | li@163.com   |    2 |          2 |           2 |           3.5 | sale    | xiangpi       |
    |    3 | ll     | cccbbb | lili       | buyer  | li@163.com   |    3 |          3 |           3 |             3 | empty   | wenjuhe       |
    |    4 | xh     | adadad | xiaohong   | seller | hong@163.com |    1 |          1 |           1 |           2.5 | sale    | qianbi        |
    |    4 | xh     | adadad | xiaohong   | seller | hong@163.com |    2 |          2 |           2 |           3.5 | sale    | xiangpi       |
    |    4 | xh     | adadad | xiaohong   | seller | hong@163.com |    3 |          3 |           3 |             3 | empty   | wenjuhe       |
    |    5 | xm     | kkkkk  | xiaoming   | seller | ming@qq.com  |    1 |          1 |           1 |           2.5 | sale    | qianbi        |
    |    5 | xm     | kkkkk  | xiaoming   | seller | ming@qq.com  |    2 |          2 |           2 |           3.5 | sale    | xiangpi       |
    |    5 | xm     | kkkkk  | xiaoming   | seller | ming@qq.com  |    3 |          3 |           3 |             3 | empty   | wenjuhe       |
    +------+--------+--------+------------+--------+--------------+------+------------+-------------+---------------+---------+---------------+

    总结

    1. 查两表关联列相等的数据用内连接
    2. table1是table2的子集时用右外连接
    3. table1是table2的子集时用左外连接
    4. table1和table2彼此有交集但彼此互不为子集时候用全外
    5. 求差操作的时候用联合查询
    6. 多个表查询的时候,这些不同的连接类型可以写到一块

    组合查询

      UNION---执行多个查询,也就是多条select语句,并将结果作为单个查询结果集返回,称为并或符合查询。

    使用情况

    1. 单个查询中从不同的表返回类似结构的数据
    2. 单个表执行多个查询,按单个查询返回数据

    使用规则

    1. 必须由两条及以上的select组成,语句间用UNION
    2. UNION中每个查询包含相同的列,表达式,或聚集函数
    3. 数据类型兼容,不必完全相同,DBMS可以隐士转换,如:不同日期类型或不同数值类型

    总结

    1. UNION从查询结果集中自动除去了重复的行,这是默认的若果需要可以改变,用UNION ALL而不是UNION
    2. 只能使用一条order by,必须出现在最后一条select之后,不存在对结果集一部分排序一部分不排序

    转载于:https://www.cnblogs.com/tianzeng/p/10339593.html

    展开全文
  • MySQL联结查询怎么写

    2020-05-23 11:41:50
    当我们查询的数据来源于多张表的时候,我们需要用到连接查询,连接查询使用率非常高,是务必掌握的。


    当我们查询的数据来源于多张表的时候,我们需要用到连接查询,连接查询使用率非常高,是务必掌握的。联结( JOIN )就是将其他表中的列添加过来,进行“添加列”的集合运算。联结大体上分为内联结和外联结两种。


    笛卡尔积

    笛卡尔积( 交叉联结:CROSS JOIN)简单点理解:有两个集合A和B,笛卡尔积表示A集合中的元素和B集合中的元素任意相互关联产生的所有可能的结果。
    假如A中有m个元素,B中有n个元素,A、B笛卡尔积产生的结果有m*n个结果,相当于循环遍历两个集合中的元素,任意组合。

    java伪代码表示如下:

    for(Object eleA : A){
    	for(Object eleB : B){
    		System.out.print(eleA+","+eleB);
    	}
    }
    

    过程:拿A集合中的第1行,去匹配集合B中所有的行,然后再拿集合A中的第2行,去匹配集合B中所有的行,最后结果数量为m*n。

    笛卡尔积语法:

    select 字段 from 表1,表2[,表N];
    或者
    select 字段 from 表1 join 表2 [join 表N];
    

    内联结

    在这里插入图片描述
    内联结也称为INNER JOIN,相当于在笛卡尔积的基础上添加了内联结的条件,当没有联结条件是便上升为笛卡尔积。

    java伪代码表示如下:

    for(Object eleA : A){
    	for(Object eleB : B){
    		if (联结条件是否为true)
    			System.out.print(eleA+","+eleB);
    	}
    }
    

    INNER JOIN语法:

    select 字段 from 表1 join 表2 ON 联结条件;
    或者
    select 字段 from 表1 inner join 表2 ON 联结条件;
    或者
    select 字段 from 表1,表2 [where 关联条件];
    

    内联接建议使用第三种表示方法,更加简洁。

    内联结查询如下:

    mysql> SELECT
        t1.emp_name,
        t2.team_name
      FROM
        t_employee t1
      INNER JOIN
        t_team t2
      ON
        t1.team_id = t2.id;
    +---------------+-----------+
    | emp_name    | team_name |
    +---------------+-----------+
    | Lw中   | 程序员组   |
    | 张三      | 测试组   |
    | 李四      | java组   |
    +---------------+-----------+
    3 rows in set (0.00 sec)
    

    示例1:有联结条件

    select 
    t1.emp_name,t2.team_name 
    from 
    t_employee as t1 inner join t_team as t2
    on 
    t1.team_id = t2.id;
    

    示例2:无联结条件

    select 
    t1.emp_name,t2.team_name 
    from t_employee as t1 inner join t_team as t2;
    

    示例3:组合条件查询

    select 
    t1.emp_name,t2.team_name 
    from 
    t_employee as t1, t_team as t2 
    where
    t1.team_id = t2.id and t2.team_name = '底层程序员组';
    

    外联结

    内联结也称为OUTER JOIN,外连接涉及到2个表,分为:主表从表,要查询的信息主要来自于哪个表,谁就是主表。

    外联结查询结果会输出主表中所有记录。如果从表中有和它匹配的,则显示匹配的值,这部分相当于内联结;如果从表中没有和它匹配的,则显示null。
    最终:外联结查询结果 = 内联结的结果 + 主表中有的而内联结结果中没有的记录。

    外联结分为2种:
    左外联结:使用left join关键字,left join左边的是主表
    右外联结:使用right join关键字,right join右边的是主表

    左联结

    在这里插入图片描述
    左外联结:使用left join关键字,left join左边的是主表。

    LEFT JOIN语法:

    selectfrom 主表 left join 从表 on 连接条件;
    

    示例:

    mysql> SELECT
        t1.emp_name,
        t2.team_name
      FROM
        t_employee t1
      LEFT JOIN
        t_team t2
      ON
        t1.team_id = t2.id;
    +---------------+-----------+
    | emp_name    | team_name |
    +---------------+-----------+
    | Lw中   | 程序员组   |
    | 张三      | 测试组   |
    | 李四      | java组   |
    | 王五      | NULL    |
    | 赵六      | NULL    |
    +---------------+-----------+
    5 rows in set (0.00 sec)
    

    右联结

    在这里插入图片描述
    右外联结:使用right join关键字,right join右边的是主表。

    RIGHT JOIN语法:

    selectfrom 从表 right join 主表 on 连接条件;
    

    示例:

    mysql> SELECT
        t2.team_name,
        t1.emp_name
      FROM
        t_team t2
      RIGHT JOIN
        t_employee t1
      ON
        t1.team_id = t2.id;
    +-----------+---------------+
    | team_name | emp_name    |
    +-----------+---------------+
    | 程序员组   | Lw中   |
    | 测试组   | 张三      |
    | java组   | 李四      |
    | NULL    | 王五      |
    | NULL    | 赵六      |
    +-----------+---------------+
    5 rows in set (0.00 sec)
    

    全联结

    在这里插入图片描述
    全联结:使用full join关键字,把左右两张表的数据都查询出来,不管匹配与否。mysql是不支持full join的,但仍然可以同过左外连接+ union+右外连接实现

    union全联结查询语法如下:

    SELECT * FROM t1
    LEFT JOIN t2 ON t1.id = t2.id
    UNION
    SELECT * FROM t1
    RIGHT JOIN t2 ON t1.id = t2.id
    

    三张以上的表联结

    通常联结只涉及 2 张表,但有时也会出现必须同时联结 3 张以上的表
    的情况,原则上联结表的数量并没有限制。

    三表以上联结语法:

    selectfrom1 inner join2 on 连接条件 inner join3 on 联结条件 inner join ...;
    

    假设现在有三张表,departments、dept_emp、employees,需要查找所有员工的last_name和first_name以及对应的dept_name

    departments表

    CREATE TABLE `departments` (
    `dept_no` char(4) NOT NULL,
    `dept_name` varchar(40) NOT NULL,
    PRIMARY KEY (`dept_no`));
    

    dept_emp表

    CREATE TABLE `dept_emp` 
    (`emp_no` int(11) NOT NULL comment '所有的员工编号',
    `dept_no` char(4) NOT NULL comment '部门编号',
    `from_date` date NOT NULL,
    `to_date` date NOT NULL,
    PRIMARY KEY (`emp_no`,`dept_no`));
    

    employees表

    CREATE TABLE `employees` (
    `emp_no` int(11) NOT NULL,
    `birth_date` date NOT NULL,
    `first_name` varchar(14) NOT NULL,
    `last_name` varchar(16) NOT NULL,
    `gender` char(1) NOT NULL,
    `hire_date` date NOT NULL,
    PRIMARY KEY (`emp_no`));
    

    查询语句如下:

    select 
    e.last_name, e.first_name, d.dept_name 
    from 
    employees e 
    inner join 
    dept_emp de on e.emp_no = de.emp_no
    inner join 
    departments d on de.dept_no = d.dept_no;
    
    展开全文
  • 下边的SQL整体来看是几个left join , 而join的表不是表名, 是一个子查询 1 select a.uid, c.nickname, c.mobile, a.uid_cards, (a.uid_cards - b.send_uids) as self_cards, b.send_uids, c.regdate, ...
  • 今天检查线上慢查询语句时发现一个left join语句不能使用索引,大概情况如下: receipt表和ship表字段ORDER_ID都添加了索引,但explain结果显示语句未走索引 经过检查,发现两表字段ORDER_ID的数据类型不同,一个...
  • mysql 联结查询

    2016-03-25 00:03:45
    1. 自然联结 inner join (默认联结) left (outer) join 左表可以为NULL right (outer) join 右表可以为NULL full (outner) join 左表和右表都可以为NULL 2. cross join 笛卡尔积 返回两张表的所有字段, 不去
  • MySQL联结查询

    2018-05-11 23:16:32
    联结,可以用来在一条 SELECT 语句中关联表。 基础联结 WHERE子句 在联结两个表时,实际上做的是将第一个表中的每一行与第二个表中的每一行进行配对。行的数目其实是第一个表中的行数和第二个表中行数的乘积...
  • MySQL的查询,子查询,联结查询,联合查询 一.mysql查询的五种子句where(条件查询)、having(筛选)、group by(分组)、order by(排序)、limit(限制结果数) 二.子查询1.where 子查询SELECT * FROM tb1 WHERE cat...
  • 其实我对 数据库的级联或者联结查询一直都是会用,项目能查询出来自己想要的结果即可。 毕竟SQL使用复杂的查询毕竟比较少,而且不难使用。 至于区分他们,我还真的有点模糊。 在看 《SQL必知必会》这本书的时候,...
  • MySQL联结

    2018-09-30 22:54:56
    总结 1. 联结方式有等值联结、自联结、自然联结和外联结。...联结不是物理实体,在数据库中不存在这个表,只存在于查询的执行中。   一、了解联结前需掌握一些基础知识。 主键(Primary Key...
  • MySQL-表联结查询

    2020-08-24 22:06:26
    查询与表联结 SQL最强大的功能之一就是能在数据检索查询的执行中**联结(join)**表。 ##子查询(嵌套SQL) SELECT语句是SQL的查询。迄今为止我们所看到的所有SELECT语句句都是简单查询,即从单个数据库表中检索...
  • MySQL联结

    2019-11-27 23:03:31
    这篇写MySQL联结表。 供应商表的vend_name,产品名称和价格在products表中。想要查询供应商名称和产品名称和产品价格就需要联结查询。 一定要where vendors.vend_id = products.vend_id;,不然输出的结果是笛卡尔积...
  • select vend_name,prod_name,prod_price from vendors,products where vendors.vend_id = products.vend_id order by vend_name; +-------------+----------------+------------+ | vend_name | prod_name | prod_...
  • mysql多表联结查询

    2016-09-13 12:33:43
    联结的本质多表联结是在将多个表做笛卡尔积,后在加入where的限定条件,获取指定的行。(非官方说法) 在此 提醒一下 我们这说的...比如现在又两张表student表和course表,都含有stuId字段,我们需要查询某位学生所
  • mysql 联结

    2015-11-03 17:19:08
    1、理解联结的概率(主要还是用于代替子查询)表为v9_admin_role和表v9_admin为两个单独的表,其中如下所示,红色部分表示表v9_admin_role的内容,绿色部分表示v9_admin的内容。如果执行了如下的sql语句以后,那么两...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 635
精华内容 254
关键字:

mysql联结查询

mysql 订阅