【转】mysql数据库中实现内连接、左连接、右连接
【转】mysql数据库中实现内连接、左连接、右连接
内连接:把两个表中数据对应的数据查出来
外连接:以某个表为基础把对应数据查出来
首先创建数据库中的表,数据库代码如下:
/* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50150 Source Host : localhost:3306 Source Database : store Target Server Type : MYSQL Target Server Version : 50150 File Encoding : 65001 Date: 2010-12-15 16:27:53 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `grade` -- ---------------------------- DROP TABLE IF EXISTS `grade`; CREATE TABLE `grade` (`no` int(11) NOT NULL AUTO_INCREMENT,`grade` int(11) NOT NULL,PRIMARY KEY (`no`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of grade -- ---------------------------- INSERT INTO grade VALUES ('1', '90'); INSERT INTO grade VALUES ('2', '80'); INSERT INTO grade VALUES ('3', '70'); -- ---------------------------- -- Table structure for `student` -- ---------------------------- DROP TABLE IF EXISTS `student`; CREATE TABLE `student` (`no` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) NOT NULL,PRIMARY KEY (`no`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of student -- ---------------------------- INSERT INTO student VALUES ('1', 'a'); INSERT INTO student VALUES ('2', 'b'); INSERT INTO student VALUES ('3', 'c'); INSERT INTO student VALUES ('4', 'd');
student表中的字段分别是no和name,grade表中的字段是no和grade。两张表中的no都代表的是学生的学号。
查询student表的结果:
mysql> select * from grade; +----+-------+ | no | grade | +----+-------+ | 1 | 90 | | 2 | 80 | | 3 | 70 | +----+-------+ 3 rows in set
查询grade表的结果:
mysql> select * from student; +----+------+ | no | name | +----+------+ | 1 | a | | 2 | b | | 3 | c | | 4 | d | +----+------+ 4 rows in set
内连接 inner join(查找条件中对应的数据,no4没有数据不列出来)
mysql> select * from student s inner join grade g on s.no=g.no;+----+------+----+-------+ | no | name | no | grade | +----+------+----+-------+ | 1 | a | 1 | 90 | | 2 | b | 2 | 80 | | 3 | c | 3 | 70 | +----+------+----+-------+ 3 rows in set
左连接(左表中所有数据,右表中对应数据)
mysql> select * from student as s left join grade as g on s.no=g.no; +----+------+------+-------+ | no | name | no | grade | +----+------+------+-------+ | 1 | a | 1 | 90 | | 2 | b | 2 | 80 | | 3 | c | 3 | 70 | | 4 | d | NULL | NULL | +----+------+------+-------+ 4 rows in set
右连接(右表中所有数据,左表中对应数据)
mysql> select * from student as s rightjoin grade as g on s.no=g.no; +----+------+----+-------+ | no | name | no | grade | +----+------+----+-------+ | 1 | a | 1 | 90 | | 2 | b | 2 | 80 | | 3 | c | 3 | 70 | +----+------+----+-------+ 3 rows in set
转载于:https://www.cnblogs.com/zzzzw/p/4869719.html
【转】mysql数据库中实现内连接、左连接、右连接相关推荐
- MySQL数据库中的内置函数
SQL函数分为单行函数和多行函数: 单行函数: 红色标注的为重点. - - - -字符串函数: - - - - - - - - - - 1.length() 存储长度 - - - - - - - - ...
- jq获取内容ajax传递数据库,使用php和jquery ajax从mysql数据库中获取数据
我想使用php和jquery ajax从mysql数据库中获取数据." process.php"是连接到数据库并获取mysql数据的php文件.当它单独运行时它可以工作,但是当使用 ...
- mye连接mysql数据库_MySQL_如何在Java程序中访问mysql数据库中的数据并进行简单的操作,在上篇文章给大家介绍了Myeclip - phpStudy...
如何在Java程序中访问mysql数据库中的数据并进行简单的操作 在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据 ...
- 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中
1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件 ②安装MySQL数据库(下载地址:https://www.mysql.com/) ③安装Navicat Premium来查看 ...
- 在mysql数据库中,多表查询,事务,DCL,
多表查询: * 查询语法:select列名列表from表名列表where.... * 准备sql# 创建部门表CREATE TABLE dept(id INT PRIMARY KEY AUTO_INC ...
- MySQL数据库中的多表查询含义以及练习~建议码友们点亮拇指+收藏呐~
MySQL数据库中的多表查询含义以及练习 一. 多表查询含义 二. 多表查询练习 1. 已知表 2. 需求And代码 一. 多表查询含义 查询语法: select列名列表from表名列表where条件 ...
- 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载
用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...
- mysql题库随机抽取试题_Python从MySQL数据库中面抽取试题,生成试卷
一.背景 本文章主要是分享如何使用Python从MySQL数据库中面抽取试题,生成的试卷每一份都不一样. 二.准备工作 1.安装Python3 2.安装库 pip install python-doc ...
- MySQL 数据库中 in、some、any、all 的区别与使用
MySQL 数据库中 in.some.any.all 的区别与使用 in.some.any.all的理解 in:在某个范围内存在,就返回true: in (a,b,c)可以理解成 a or b or ...
- Mysql数据库中的各种锁
目录 概述 MyIsam 如何加表锁 并发锁 MyISAM的锁调度 InnoDB 事务(Transaction)及其ACID属性 并发事务带来的问题 InnoDB都有哪些锁? InnoDB的行锁模式及 ...
最新文章
- 数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)
- Oracle 同义词的创建及其作用
- markdown流程图多分支_提高生产力的好工具MarkDown语法学习
- 非平坦结构元matlab,基于MATLAB的巴特沃思型数字滤波器设计.doc
- pwn波c语言程序,pwn的一些命令
- 十道解分式方程及答案_100道八年级分式方程及答案.
- 逻辑斯蒂回归java_机器学习 (五)逻辑斯蒂回归
- 天干物燥,给你写BUG的心来点甘露
- 生僻词汇(地名,动植物名)
- 网络字节序与主机字节序 高低位
- word文档误删怎么恢复
- Win:从 Microsoft官方网站下载官方正版ISO镜像文件(以Windows10为例,图文教程)
- 比较好的运动耳机,好用的运动耳机推荐
- Bootstrap栅格参数
- 1、RL Problem
- simplify-js 降低曲线拟合使用的点数
- 罗克韦尔AB PLC安装Studio 5000 V35的具体步骤演示
- 小记--------hbase数据库java API 常用方法及案例
- Python读取MIT-BIH数据中心电信号
- 为什么说使用HTTP代理上网更安全?