mysql查询语句内连接、左连接、右连接以及全连接查询
点击复制data.sql数据库
一、内连接查询 inner join
关键字:inner join on
示例语句:select a inner join
b on
a.name=b.name
说明:组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集部分。
二、左连接查询 left join
关键字:left join on / left outer join on
语句:select * from a left join
b on
a.name=b.name
说明: left join 是left outer join的简写,它的全称是左外连接,是外连接中的一种。 左(外)连接,左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。即相当于搜索左表的差集
三、右连接 right join
关键字:right join on / right outer join on
语句:select * from a right join
b on
a.name=b.name
说明:right join是right outer join的简写,它的全称是右外连接,是外连接中的一种。与左(外)连接相反,右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL。
四、全连接 union
关键字:union /union all (这里只介绍union all)
语句:1,select * from a where a.id<3 union all
select * from b where b.id>1
2,select * from a where a.id<3 union all
select * from b where b.id>1 order by id desc
说明:说白了,就是两个sql 语句合起来,即求并集
使用数据库
-- phpMyAdmin SQL Dump
-- version phpStudy 2014
-- http://www.phpmyadmin.netSET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";-- 数据库: `a`
CREATE DATABASE `a` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `a`;-- 表的结构 `a`
CREATE TABLE IF NOT EXISTS `a` (`id` int(11) NOT NULL,`name` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;-- 转存表中的数据 `a`INSERT INTO `a` (`id`, `name`) VALUES
(1, '张三'),
(2, '李四'),
(3, '王二麻子'),
(4, '玻璃杯子'),
(5, '小红'),
(4, '小明');-- ---------------------------------------------------------- 表的结构 `b`
CREATE TABLE IF NOT EXISTS `b` (`id` int(11) NOT NULL,`name` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;-- 转存表中的数据 `b`
INSERT INTO `b` (`id`, `name`) VALUES
(1, '张三'),
(2, '李四'),
(3, '王二麻子'),
(4, '玻璃杯子'),
(5, '花花'),
(6, '站站');
mysql查询语句内连接、左连接、右连接以及全连接查询相关推荐
- 【MySQL】MySQL 的连接(内、左、右、全)
一.表 的连 结 1.目的:减少数据的冗余 2.核心:分类 ***连接时至少要两张表,连接主要有内连接(inner join).左外连接(left outer join).右外连接(right out ...
- 区分笛卡儿积,自然连接,等值连接,内连接,外连接—左,右
1.笛卡尔积 笛卡儿积,不用多说,返回所有的情况. 2.自然连接 自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系.自然连接是一种特殊的等值 ...
- 内连接(join、inner join )、左连接(left join) 、全连接(full join)
建表: drop table t_test1; drop table t_test2; create table t_test1( aid number(10), aname varchar2(40) ...
- oracle full outer join,oracle 内连接(inner join)、外连接(outer join)、全连接(full join)...
建表语句: create table EMPLOYEE ( EID NUMBER, DEPTID NUMBER, ENAME VARCHAR2(200) ) create table DEPT ( D ...
- 一条SQL查询语句的执行过程,一张图说清SQL查询语句执行过程
一张图说明 一条SQL查询语句的执行过程 一条sql语句从发送到数据库到它执行完成并返回结果,主要经历以下几个过程: 连接器->查询缓存(如果开启了查询缓存,则会经过这一步,但是大多数情况下都是 ...
- 对于LIMITE,Mysql优化器导致的有时候不走索引而是走全表查询
使用Mysql官方数据库sakila作示例 首先查看actor表内索引 有一个主键索引(聚簇索引)和一个last_name字段的二级索引 这里我是想走聚簇索引找出第一条id,当然这里 ...
- linux 全连接队列,TCP半连接队列和全连接队列的可能和出现问题和解决方案
问题描述 监控系统发现电商网站主页及其它页面间歇性的无法访问: 查看安全防护和网络流量.应用系统负载均正常: 系统重启后,能够暂时解决,但持续一段时间后间歇性问题再次出现. 此时问题已影响到整个网站的 ...
- oracle 查询语句取别名,实用sql查询语句详解1:给列取别名、查询部分行、多列排序...
SQL(Structured Query Language)是用于访问和处理数据库的标准计算机语言,是所有数据库查询的语言,无论是高级查询还是低级查询, 文章介绍了包括查询全部的行和列.给列取别名.查 ...
- c++中实现域内,左,右对齐的方法
需要包含头文件 实现域内左对齐 int main() {cout.setf(ios::left);//for (int i = 0; i < 5; i++)cout << setw( ...
- MySQL in语句内参数个数限制
Oracle中,in语句中可放的最大参数个数是1000个.之前遇到超过1000的情况,可用如下语句,但如此多参数项目会低,可考虑用别的方式优化. select * from Table where i ...
最新文章
- 沃通免费SSL证书申请指南
- 【二维树状数组】See you~
- python主要运用于-python主要用于
- 680. 验证回文字符串 Ⅱ
- php mysql 秒杀_redis+PHP实现高并发下秒杀数据入库的问题
- 由于找不到appvisvsubsystems32.dll_老实人就别找女朋友了 跟个老实人结婚有多累_新闻资讯...
- 14.链表中倒数第k个结点
- 老去的80后忆当年-致80后的朋友们
- 借助Bilibili Evolved批量下载b站视频
- 几款优秀的Windows密码抓取工具
- java4.25生成车牌号_泸牌16年涨882倍 超25万人拍一张车牌为哪般?
- NPS净推荐值 客户忠诚度指标
- JAVA中黄金分割点的问题
- im开源java框架_开源的im即时通讯系统
- 低代码平台和专业开发人员——完美搭档?
- mp4 转 mp3 命令行工具(超快)
- calc(100% - 200px)调整大小
- 【测控电路】滤波电路
- 计算机中的英语六级作文万能模板,六级作文通用万能模板
- 博览群书:谷歌软件测试之道