w3resource_MySQL练习:Joins
w3resource_MySQL练习题:Joins
-- 1. 自然连接,MySQL自己判断多表的连接条件,分为内/外自然连接 select location_id, street_address, city, state_province, country_name from locations NATURAL JOIN countries -- 2. 多表连接,在from里连接多张表,通过where进行匹配 select l.location_id, l.street_address, l.city, l.state_province, c.country_name from locations as l, countries as c where l.country_id=c.country_id
-- 1. 多表连接 select e.first_name, e.last_name, e.department_id, d.department_name from employees as e, departments as d where e.department_id=d.department_id -- 2. 左连接(显然employees表数量远大于departments表) select e.first_name, e.last_name, e.department_id, d.department_name from employees as e left join departments as d on e.department_id=d.department_id
-- 1. 多表连接 select e.first_name, e.last_name, e.job_id, e.department_id, d.department_name from employees as e, departments as d, locations as l where e.department_id=d.department_id and d.location_id=l.location_id and l.city='London' -- 2. 左连接 select e.first_name, e.last_name, e.job_id, e.department_id, d.department_name from employees as e left join departments as d on e.department_id=d.department_id left join locations as l on d.location_id=l.location_id where l.city='London'
-- 1. 使用多表连接 select e1.employee_id, e1.last_name, e2.employee_id, e2.last_name from employees as e1, employees as e2 where e1.manager_id=e2.employee_id -- 2. 使用内连接 SELECT e.employee_id 'Emp_Id', e.last_name 'Employee', m.employee_id 'Mgr_Id', m.last_name 'Manager' FROM employees e join employees m ON (e.manager_id = m.employee_id);
-- 1. 通过where进行筛选 select first_name, last_name, hire_date from employees where hire_date>( select hire_date from employees where last_name='Jones' ) -- 2. 内连接 SELECT e.first_name, e.last_name, e.hire_date FROM employees e JOIN employees davies ON (davies.last_name = 'Jones') WHERE davies.hire_date < e.hire_date;
-- 要点:多表连接后,在新表做group by select d.department_name, count(*) from employees as e, departments as d where e.department_id=d.department_id group by e.department_id
-- 要点:datediff() SELECT employee_id, j.job_title, DATEDIFF(end_date, start_date) FROM job_history NATURAL JOIN jobs AS j WHERE department_id = 90;
-- 要点:以departments表为左表 select d.department_id, d.department_name, e.first_name from departments as d left join employees as e won d.manager_id=e.employee_id
-- 要点:以departments表为主表 select d.department_name, e.first_name, l.city from departments as d left join employees as e on d.manager_id=e.employee_id left join locations as l on d.location_id=l.location_id
-- 要点:group by分组计算组内均值 select job_id, avg(salary) from employees group by job_id
-- 要点:多表连接 SELECT job_title, first_name, salary-min_salary 'Salary - Min_Salary' FROM employees NATURAL JOIN jobs;
-- 要点:多表连接 select j.* from job_history as j, employees as e where j.employee_id=e.employee_id and e.salary>10000
-- 要点:datediff select e.first_name, e.last_name, e.hire_date, e.salary, datediff(now(), (e.hire_date)) as exp from departments as d, employees as e where d.manager_id=e.employee_id and datediff(now(), (e.hire_date))>15
w3resource_MySQL练习:Joins的更多相关文章
- SQL Tuning 基础概述07 - SQL Joins
N多年之前,刚刚接触SQL的时候,就被多表查询中的各种内连接,外连接,左外连接,右外连接等各式各样的连接弄的晕头转向. 更坑的是书上看到的各种表连接还有两种不同的写法, 比如对于表A,表B的查询 1, ...
- Part 7 Joins in sql server
Joins in sql server Advanced or intelligent joins in sql server Self join in sql server Different wa ...
- [HIve - LanguageManual] Joins
Hive Joins Hive Joins Join Syntax Examples MapJoin Restrictions Join Optimization Predicate Pushdown ...
- 转载: C#: Left outer joins with LINQ
I always considered Left Outer Join in LINQ to be complex until today when I had to use it in my app ...
- The dplyr package has been updated with new data manipulation commands for filters, joins and set operations.(转)
dplyr 0.4.0 January 9, 2015 in Uncategorized I’m very pleased to announce that dplyr 0.4.0 is now av ...
- ### 七种SQL JOINS
七种SQL JOINS 1.SELECT FROM TABLEA A LEFT JOIN TABLEB B ON A.Key=B.Key 2.SELECT FROM TABLEA A RIGHT JO ...
- MySQL Block Nested Loop and Batched Key Access Joins(块嵌套循环和批量Key访问连接)
Block Nested-Loop and Batched Key Access Joins Batched Key Access (BKA) Join算法通过index和join buffer访问j ...
- MySQL表与表之间的SQL Joins图介绍
下图很好的解释了各表之间SQL Joins之间的关系
- Lerning Entity Framework 6 ------ Joins and Left outer Joins
Joins allow developers to combine data from multiple tables into a sigle query. Let's have a look at ...
随机推荐
- 2017ACM/ICPC广西邀请赛 Duizi and Shunzi
题意:就是一个集合分开,有两种区分 对子:两个相同数字,顺子:连续三个不同数字,问最多分多少个 解法:贪心,如果当前数字不构成顺子就取对子 /2,如果可以取顺子,那么先取顺子再取对子 #include ...
- java中存储金额
很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数据类型(boolean, byte, short, int, long, float, double, char)的我, ...
- (转)useradd用户,组管理案例
原文:https://www.cnblogs.com/Csir/p/6403830.html?utm_source=itdadao&utm_medium=referral 示例:要求oldbo ...
- java分为 三类 ME,SE,EE
java分为 三类 ME,SE,EE Java SE=Java Standard EditionJava EE=Java Enterprise Edition Java ME=Java Mobile ...
- Java基础学习_01 概述及环境配置
一.概述 1.Java语言平台版本 1.1J2SE(Java 2 Platform Standard Edition)标准版 为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可 ...
- 使用Karabiner为Mac内置键盘、HHKB进行映射
使用Karabiner为Mac内置键盘.HHKB进行映射 Table of Contents 1. 引言 2. 什么是Karabiner和配置方法的基本说明 3. 内置键盘设置 4. HHKB设置 5 ...
- php设计模式-单例
单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例. <设计模式>对此的定义:保证一个类仅有一个实例,并提供一个访 ...
- Linux 网卡驱动的安装
一.网卡驱动安装的一般思路 1.首先从硬 件安装,检查网卡本身故障 2.检查网卡芯片型号(注意不是硬件品牌) 常见的网卡芯片有Intel RC82545EM/Realtek 8139D/ Broadc ...
- put_user
1. put_user Name put_user -- Write a simple value into user space. Synopsis put_user ( x, ptr); A ...
- 在SharePoint Online或SharePoint本地列表中缺少功能区
您可能会遇到在SharePoint Online或SharePoint内部部署列表中看不到功能区的情况.功能区可以轻松访问SharePoint列表中的常见任务.它还提供了有用的工具,例如连接到Outl ...