Python学习第二十五课——Mysql (多表查询)
多表查询:
内连接查询:
首先:创建两个表一个为tableA,一个为tableB,并且插入数据(代码省略)
同时查询两个表的记录:
select * from tableA,tableB;
根据tableA中id 等于 tableB 中refer_id 进行内连接查询:
select * from tableA,tableB where tableA.id=tableB.refer_id;
也可以用一下方法进行内连接查询:
select * from tableB inner join tableA on tableB.refer_id=tableA.id; --inner join -- on --用法 select tableA.id,tableA.name,tableB.name from tableB inner join tableA on tableB.refer_id=tableA.id;
具体例子(员工和部门):
首先:创建两个表一个为employee,一个为department,并且插入数据(代码省略)
要求:根据员工表中的部门id 和 部门表中的部门id 对应查询出 员工所在部门;
select employee.name,department.dept_name from department
inner join employee
on department.dept_id=employee.dept_id; -- 内连接查询,此时from A inner join B 中 顺序无所谓
外连接:
select employee.name,department.dept_name from department
left join employee
on department.dept_id=employee.dept_id; -- from 那个表 就以那个表为主 就是 显示那个表 select employee.name,department.dept_name from employee
left join department
on department.dept_id=employee.dept_id; -- from 那个表 就以那个表为主 就是 显示那个表
练习1:显示技术部的人和部门
select employee.name,department.dept_name from employee
inner join department
on department.dept_id=employee.dept_id
and department.dept_id=201;
练习2:显示拥有大于25岁员工的部门(如有多个只显示一个即可)
select department.dept_name from department
inner join employee
on department.dept_id=employee.dept_id
and employee.age>25; select DISTINCT department.dept_name from department
inner join employee
on department.dept_id=employee.dept_id
and employee.age>25; -- DISTINCT 去重
Python学习第二十五课——Mysql (多表查询)的更多相关文章
- Python学习第二十四课——Mysql 外键约束
外键:主要是关联两个表的 举个栗子:在建表中创建外键 -- 添加外键例子 CREATE TABLE teacher( id TINYINT PRIMARY KEY auto_increment, na ...
- Python学习第二十二课——Mysql 表记录的一些基本操作 (增删改)
记录基本操作: 增:(insert into) 基本语法: insert into 表名(字段) values(对应字段的值): 例子1: insert into employee(id,name,a ...
- Python学习第二十八课——Django(templates)
templates 讲后台得到的数据渲染到页面上:话不多说,先看具体代码. urls: from django.conf.urls import url from django.contrib imp ...
- Python学习第二十八课——Django(urls)
Django框架中的urls配置: 首先通过pycharm创建一个Django项目: 例如要写blog的功能:则在digango_lesson中的urls代码如下: """ ...
- Python学习第二十六课——PyMySql(python 链接数据库)
Python 链接数据库: 需要先安装pymysql 包 可以设置中安装,也可以pip install pymysql 安装 加载驱动: import pymysql # 需要先安装pymysql 包 ...
- JAVA学习第二十五课(多线程(四))- 单例设计模式涉及的多线程问题
一.多线程下的单例设计模式 利用双重推断的形式解决懒汉式的安全问题和效率问题 //饿汉式 /*class Single { private static final Single t = new Si ...
- python学习第二十五天函数位置参数和关键词参数
函数位置参数顾名思义就是按位置排序,按位置对应参数,位置一一对应,函数的关键词参数是不按照顺序来的,可以指定的参数传值.但是注意的是,位置参数必须在关键词参数之前. 1,函数位置参数 def good ...
- Python学习第十五课——类的基本思想(实例化对象,类对象)
类的基本思想 类:把一类事物的相同的特征和动作整合到一起就是类类是一个抽象的概念 对象:就是基于类而创建的一个具体的事物(具体存在的)也是特征和动作整合到一块 对象写法 # 对象写法 def scho ...
- 风炫安全WEB安全学习第二十五节课 利用XSS键盘记录
风炫安全WEB安全学习第二十五节课 利用XSS键盘记录 XSS键盘记录 同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源.所以xyz.com下的js脚本采用a ...
随机推荐
- (c#)删除链表中的节点
题目 解: 解析: n1→n2→n3→n4删除n2即将n2更改成n3n1→n3(n2)→n4
- 软件工程2020第一次作业(by cybersa)
1 作业描述 作业属于哪个课程 2020春福大软工实践W班 这个作业要求在哪里 寒假作业(1/2) 这个作业的目标 建立博客.掌握markdown语法,学习写博客,回顾,总结,展望自己的学习历程 作业 ...
- Codeforces C. Almost Equal (数学规律)
题目链接:http://codeforces.com/contest/1206/problem/C 题解 : 观察可以发现当n为偶数时,1 - 2n是不满足题意的,可以举例n = 2,n = 4试一试 ...
- springboot10(docker)
一 Docker 1 what's the Docker? Docker是一个开源的应用容器引擎,轻量级容器技术. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器 ...
- 【SIKI学院】愤怒的小鸟创建过程-1
第一讲:资源导入,场景的简单搭建 1.创建一个2D工程,用到了3个场景,因此ctrl +S创建场景00-level,ctrl+N保存在你创建的文件夹中,这样一个文件就创建好了,之后继续重复此步骤创建另 ...
- Qt那点事儿(一)
原文http://www.cnblogs.com/andreitang/archive/2011/08/03/2125815.html 第一回 Signal和Slot是同步的还是异步的? 我们知道Qt ...
- Java - 集合 - 定义和分类
Java集合框架主要包括两种类型的容器:Collection和Map 层级结构图:evernote:///view/27699174/s49/d9aaf84e-e218-40a0-89c1-358 ...
- CentOS7服务器状态下安装xampp
遇到的问题 1.远程不能访问phpmyadmin,只能在本地访问,但是本地为命令行模式. 需要修改一下服务器端的配置,我们找到 /opt/lampp/etc/extra/httpd-xampp.con ...
- n个点m条有向边,求在入度为零的点到n号点的所有路 //径中,哪条边被这些路径覆盖的次数最多
//n个点m条有向边,求在入度为零的点到n号点的所有路 //径中,哪条边被这些路径覆盖的次数最多 //有关DAG的知识,先记个模板 #include<iostream> #include& ...
- 问题 A: 【贪心】排队接水
问题 A: [贪心]排队接水 时间限制: 1 Sec 内存限制: 128 MB[命题人:外部导入] 题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种 ...