有两张表:user和department

User表:

CREATE TABLE `user` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `name` varchar(30) DEFAULT NULL,
   `age` int(11) DEFAULT NULL,
   `birthday` date DEFAULT NULL,
   PRIMARY KEY (`id`)
 )

INSERT INTO USER VALUE(NAME,age,birthday)
VALUES("张三",20,"2018-10-31");

表内数据如下:

部门表:

CREATE TABLE `department` (
   `id` bigint(11) NOT NULL,
   `name` varchar(10) NOT NULL,
   `descr` varchar(50) DEFAULT NULL,
   PRIMARY KEY (`id`)
 )

INSERT INTO department (id,NAME,descr)
VALUES(1,"开发部","开发高级产品");

表内数据如下:

一、正常两表联合查询的sql语句:

SELECT u.id,u.name,u.age,d.name,d.descr
FROM USER u,department d WHERE u.id=d.id

查询结果

(或者:SELECT * FROM USER u,department d WHERE u.id=d.id)

二、左联查询sql语句:

SELECT * FROM USER u LEFT JOIN department d
ON u.id=d.id

查询结果:

根据查询结果可以看出:左联查询把前面表(user)全部查出,右表只查出部分,左表有的右表没有就为空

三、右联查询sql语句:

SELECT * FROM USER u RIGHT JOIN department
d ON u.id=d.id

查询结果:

根据结果可以看出:右联查询把后面表(department)全部查出,左表只查出部分,右表有的左表没有就为空

四、内联查询sql语句:

SELECT * FROM USER u INNER JOIN department
d ON u.id=d.id

其结果与SELECT * FROM USER u,department d WHERE u.id=d.id查询结果一样,查出两表中满足条件的记录(是两张表同时满足哦)

还可以使用where或and带条件查询。

SELECT * FROM USER u INNER JOIN department
d ON u.id=d.id AND u.age=20

查询结果:

SELECT * FROM USER u LEFT JOIN department d
ON u.id=d.id WHERE u.name LIKE '%王%'

SELECT * FROM USER u RIGHT JOIN department
d ON u.id=d.id AND u.age=20

查询结果:

根据以上可以看出:

1、使用外联查询时,添加and查询条件,不影响内外联查询的性质,只是查询的结果满足查询条件,添加where查询条件时,只能查到满足条件的记录(结果与内联查询一样)。

2、内联查询时,添加and或where条件时,查询结果都一样,只与查询条件有关

sql中的内联和外联(简单用法)的更多相关文章

  1. SQL中 Decode 和 Sign 语法的简单用法

    含义解释:decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN R ...

  2. 《挑战30天C++入门极限》新手入门:关于C++中的内联函数(inline)

        新手入门:关于C++中的内联函数(inline) 在c++中,为了解决一些频繁调用的小函数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数. 可能说到这里,很 ...

  3. C++中的内联函数分析

    1,本节课学习 C++ 中才引入的新的概念,内联函数: 2,常量与宏回顾: 1,C++ 中的 const 常量可以替代宏常数定义,如: 1,const int A = 3; <==> #d ...

  4. 在Visual C++中使用内联汇编

    一.内联汇编的优缺点 因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便.内联汇编主 ...

  5. JAVA中的内联函数

    在说内联函数之前,先说说函数的调用过程. 调用某个函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到 转去执行该函数前的地方.这种转移操作要求在转去前要保护 ...

  6. 通过调用C语言的库函数与在C代码中使用内联汇编两种方式来使用同一个系统调用来分析系统调用的工作机制

    通过调用C语言的库函数与在C代码中使用内联汇编两种方式来使用同一个系统调用来分析系统调用的工作机制 前言说明 本篇为网易云课堂Linux内核分析课程的第四周作业,我将通过调用C语言的库函数与在C代码中 ...

  7. Go 中的内联优化

    文讨论 Go 编译器是如何实现内联的以及这种优化方法如何影响你的 Go 代码. 请注意:本文重点讨论 gc,实际上是 golang.org 的 Go 编译器.讨论到的概念可以广泛用于其他 Go 编译器 ...

  8. 转载:SQL中的case when then else end用法

    SQL中的case when then else end用法 来源: http://www.cnblogs.com/prefect/p/5746624.html Case具有两种格式.简单Case函数 ...

  9. SQL中CONVERT日期不同格式的转换用法

    SQL中CONVERT日期不同格式的转换用法 格式: CONVERT(data_type,expression[,style]) 说明:此样式一般在时间类型(datetime,smalldatetim ...

随机推荐

  1. ElasticSearch(七) Elasticsearch在Centos下搭建可视化服务

    要想可视化ElasticSearch,就需要安装一些插件,安装插件的前提是安装所依赖的环境,比如java,maven等,本篇博文就不再走那些流程了.没安装的童鞋可以看我的ElasticSearch栏目 ...

  2. Python Rabbit 广播模式

    Exchange 在RabbitMQ下进行广播模式需要用到,exchange这个参数,它会把发送的消息推送到queues队列中,exchange必须要知道,它接下来收到的消息要分给谁,是要发给一个qu ...

  3. opencv学习之路(19)、直方图

    一.概述 二.一维灰度直方图 #include "opencv2/opencv.hpp" #include<iostream> using namespace cv; ...

  4. Servlet运行原理以及生命周期

    一.Servlet生命周期: Servlet加载.实例化.初始化.服务.销毁. 1.初始化init(): 当服务启动时,Servlet被装入tomcat或者其他服务器容器时执行(服务器容器从启动到停止 ...

  5. github笔记

    git config --global user.name"liuhongli1"liuhongli@liuhongli:~/github/test$ git config --g ...

  6. 复旦大学2016--2017学年第一学期(16级)高等代数I期末考试第七大题解答

    七.(本题10分)  设 $A,B$ 均为 $m\times n$ 阶实矩阵, 满足 $A'B+B'A=0$. 证明: $$r(A+B)\geq\max\{r(A),r(B)\},$$并且等号成立的充 ...

  7. Python3 tkinter基础 Menu add_checkbutton 多选的下拉菜单

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. Leetcode480-Binary Tree Paths-Easy

    480. Binary Tree Paths Given a binary tree, return all root-to-leaf paths. Example Example 1: Input: ...

  9. POJ 3278 抓奶牛(BFS入门题)

    描述 农夫约翰已被告知逃亡牛的位置,并希望立即抓住她.他开始于一个点Ñ(0≤ Ñ ≤100,000)上的数线和牛是在点ķ(0≤ ķ上相同数目的线≤100,000).农夫约翰有两种交通方式:步行和传送. ...

  10. Kafka学习之二 Kafka安装和使用

    部署环境Linux(Centos 6.5),JDK 1.8.0,zookeeper-3.4.12,kafka_2.11-2.0.0. 1. 单机环境     官方建议使用JDK 1.8版本,因此本文使 ...