mysql sql99语法 外连接

外连接:内连接结果+主表中有而从表没有的结果
左外连接:left join 左边的是主表
右外连接:right join 右边的是主表

#案例:查询男朋友不在男神表的女神名
#左连接

SELECT
    b.name
FROM
    beauty b
LEFT OUTER JOIN
    boys bo
ON
    b.boyfriend_id=bo.id
WHERE
    bo.`id` IS NULL;

#右连接

SELECT
    b.name
FROM
    boys bo
RIGHT OUTER JOIN
    beauty b
ON
    b.`boyfriend_id`=bo.`id`
WHERE
    bo.id IS NULL;

#案例:查询哪个部门没有员工

SELECT
    d.department_name
FROM
    employees e
RIGHT OUTER JOIN
    departments d
ON
    e.`department_id`=d.`department_id`
WHERE
    e.`department_id` IS NULL;

原文地址:https://blog.51cto.com/14437184/2437918

时间: 2024-10-31 20:49:34

mysql sql99语法 外连接的相关文章

mysql sql99语法 内连接等值连接

#案例:查询员工名.部门名 SELECT last_name,department_name FROM employees e INNER JOIN departments d ON e.`department_id`=d.`department_id` #案例:查询名字中包含e的员工名和工种名(筛选) SELECT last_name,job_title FROM employees e INNER JOIN jobs s ON e.`job_id`=s.job_id WHERE e.`las

mysql sql99语法 内连接非等值连接

#案例:查询员工的工资级别 SELECT salary,grade_level FROM employees e JOIN job_grades g ON e.`salary` BETWEEN g.`lowest_sal` AND g.`lowest_sal`; #案例:查询每个工资级别的个数,并且按级别降序 SELECT COUNT(*),grade_level FROM job_grades j JOIN employees e ON e.`salary` BETWEEN j.`lowest

MySQL 关联查询  外连接 { LEFT| RIGHT } JOIN

左外连接: (以左表为基准)两张表做连接的时候,在连接条件不匹配的时候留下左表中的数据,而右表中的数据以NULL填充例:使用左连接把学生的数据全取出来,该学生没有学院信息的用NULL填充 mysql>  select * from  student  left join  department         ->  on dept_id= d_id; 右外连接: (以右表为基准)对两张表做连接的时候,在连接条件不匹配的时候留下右表中的数据,而左表中的数据以NULL填充例:使用右外连接,把没有

MySQL的左外连接

代码: select t1.descid, IFNULL(t2.cnt,0) as countnew, t1.description from uosdesc t1 left outer join t2 on t1.descid=t2.descid order by countnew desc 说明: 左外连接,左表t1为主表,右表t2为从表. on后为条件,主表和从表做连接,若从表数据不存在则以NULL填充结果集. IFNULL判断结果集中字段,若为NULL则以第二个参数0替代之.

mysql 内连接 左连接 右连接 外连接

mysql> desc student;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| ID | int(11) | NO | PRI | 0 | || NAME | varchar(16) | YES | | NULL | || A

mysql常用基础操作语法(九)~~外连接查询【命令行模式】

1.左外连接left outer join或者left jion,outer可以省略不写,下边的右连接和全连接也一样: 左外连接的意思是,以left join左边的表中的数据为基准,即左边的表中有的必须要全部显示出来,如下图: 这里第一个查询中,company表在左边,因此就以company为基准,所以显示的结果中除了depart_id相同的6条数据外,还把company中存在的另外一条也显示出来. 而第二个查询中,emp在左边,就以emp为基准,因此显示的结果中除了depart_id相同的6条

MySQL数据库 多表查询 交叉连接 自然连接 内连接 自连接 外连接 子查询 多表查询练习 单表查询练习 𚳮

原文: http://blog.gqylpy.com/gqy/466 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我

数据库外连接及MySQL实现

MySQL查询分为内连接查询和外连接查询,他们的区别在于:内连接查询的两个表示对等关系,根据条件进行匹配:外连接是以某一个表为主,两一个表根据条件进行关联.外连接分为左外连接.右外连接和全外连接.本文重点介绍各外连接的思想,以及如何实现全外连接,并举例. 左外连接 左外连接以左边表为基础,根据条件,将右边表附属到左边表,语法:SELECT * FROM A LEFT JOIN B ON condition.几何图形关系如下图,即查询结果集除了A表所有数据外,还包含满足条件的B表数据: 右外连接

MySQL的几种表外连接及PHP操作MySQL的函数

内连接 按照条件,将左表的每天记录匹配右表,如果条件符合,字段内容将会被保存,如果不符合,则不会被保存: 语法: select  *|字段列表 from 左表 inner join 右表 on 左表.字段=右表.字段...; Inner 可以省略掉: 简约版语法 select  *|字段列表 from 左表 join 右表 on 左表.字段=右表.字段....; 外连接 左外连接 语法: select  *|字段列表 from 左表 left  join 右表 on 左表.字段=右表.字段...