数据库中的连接

摘要:
customerwherecust=CUST_NUM;

1简单连接


mysql> SELECT ORDER_NUM,AMOUNT,COMPANY,CREDIT_LIMIT FROM ORDERS,CUSTOMERS WHERE CUST=CUST_NUM;
+-----------+----------+-------------------+--------------+
| ORDER_NUM | AMOUNT | COMPANY | CREDIT_LIMIT |
+-----------+----------+-------------------+--------------+
| 112961 | 31500.00 | J.P.Sinclair | 35000.00 |
| 113012 | 3745.00 | JCP Inc. | 50000.00 |
| 112989 | 1458.00 | Jones Mfg. | 65000.00 |
| 113051 | 1420.00 | Midwest Systems | 60000.00 |
| 112968 | 3978.00 | First Corp. | 65000.00 |

2父/子查询

mysql> SELECT NAME,CITY,REGION FROM SALESREPS,OFFICES WHERE OFFICE=REP_OFFICE;
mysql
> SELECT NAME,CITY,REGION FROM SALESREPS JOIN OFFICES ON REP_OFFICE=OFFICE;
+---------------+-------------+---------+
| NAME | CITY | REGION |
+---------------+-------------+---------+
| Nancy Angelli | Denver | Western |
| Mary Jones | New York | Eastern |mysql> SELECT NAME,CITY,REGION FROM SALESREPS JOIN OFFICES ON MGR=EMPL_NUM;



mysql
> SELECT CITY,NAME,TITLE FROM OFFICES,SALESREPS WHERE MGR=EMPL_NUM;
mysql
> SELECT NAME,CITY,REGION FROM SALESREPS JOIN OFFICES ON MGR=EMPL_NUM;
+-------------+-------------+-----------+
| CITY | NAME | TITLE |
+-------------+-------------+-----------+
| Denver | Larry Fitch | Sales Mgr |
| New York | Sam Clark | VP Sales |

mysql
> SELECT CITY,NAME,TITLE FROM OFFICES,SALESREPS WHERE MGR=EMPL_NUM AND TARGET>600000.00;
mysql
> SELECT CITY,NAME,TITLE FROM OFFICES JOIN SALESREPS ON MGR=EMPL_NUM WHERE TARGET>600000.00;
+-------------+-------------+-----------+
| CITY | NAME | TITLE |
+-------------+-------------+-----------+
| Chicage | Bob Smith | Sales Mgr |
| Los Angeles | Larry Fitch | Sales Mgr |
+-------------+-------------+-----------+
列出所有订单,显示数量和产品说明。
mysql
> SELECT ORDER_NUM,AMOUNT,DESCRIPTION FROM ORDERS,PRODUCTS WHERE MFR=MFR_ID AND PRODUCT=PRODUCT_ID;
| ORDER_NUM | AMOUNT | DESCRIPTION |
+-----------+----------+------------------+
| 113034 | 632.00 | Ratcher Link |
| 112993 | 1896.00 | Ratcher Link |
| 112987 | 27500.00 | Widget Remover |

如果ORDERS表和PRODUCT表中制造商ID和产品ID字段均为MFR和PRODUCT,那么两个表间最自然的连接会是一个基于出现在两表中的所有字段名的等连接。这称为自然连接。
SELECT ORDER_NUM,AMOUNT,DESCRIPTION FROM ORDERS NATURAL JOIN PRODUCTS;
SELECT ORDRE_NUM,AMOUNT,DESCRIPTION FROM ORDRES JOIN PRODUCTS USING(MFR,PRODUCT);

列出价值超过25000美元的订单,显示下订单的客户名、负责客户的销售人员的名字和销售人员工作的销售点。
mysql> SELECT ORDER_NUM,AMOUNT,COMPANY,NAME,CITY FROM ORDERS,CUSTOMERS,SALESREPS,OFFICES
WHERE CUST=CUST_NUM AND CUST_REP=EMPL_NUM AND REP_OFFICE=OFFICE AND AMOUNT>25000.00;
+-----------+----------+-----------------+-------------+-------------+
| ORDER_NUM | AMOUNT | COMPANY | NAME | CITY |
+-----------+----------+-----------------+-------------+-------------+
| 112987 | 27500.00 | Acme Mfg. | Bill Adams | Atlanta |
| 112961 | 31500.00 | J.P.Sinclair | Sam Clark | New York |

列出所有销售人员和他们的工作地点
mysql> SELECT SALESREPS.*,CITY,REGION FROM SALESREPS,OFFICES WHERE REP_OFFICE=OFFICE;
+----------+---------------+------+------------+-----------+------------+---------+-----------+-----------+-------------+---------+
| EMPL_NUM | NAME | AGE | REP_OFFICE | TITLE | HIRE_DATE | MANAGER | QUOTA | SALES | CITY | REGION |
+----------+---------------+------+------------+-----------+------------+---------+-----------+-----------+-------------+---------+
| 107 | Nancy Angelli | 49 | 22 | Sales Rep | 2006-11-14 | 108 | 300000.00 | 186042.00 | Denver | Western |

3自连接


列出销售人员及其经理的名字。
mysql> SELECT EMPS.NAME,MGRS.NAME FROM SALESREPS EMPS,SALESREPS MGRS WHERE EMPS.MANAGER=MGRS.EMPL_NUM;
+---------------+-------------+
| NAME | NAME |
+---------------+-------------+
| Bill Adams | Bob Smith |
| Mary Jones | Sam Clark |

4外连接


mysql> SELECT NAME,CITY FROM SALESREPS JOIN OFFICES ON REP_OFFICE=OFFICE;
+
---------------+-------------+
| NAME | CITY |
+---------------+-------------+
| Nancy Angelli | Denver |
| Mary Jones | New York |
| Sam Clark | New York |

5左外连接:左边表中要查询的字段都会出现,在右边表中没有的值用NULL代替


mysql> SELECT NAME,CITY FROM SALESREPS LEFT OUTER JOIN OFFICES ON REP_OFFICE=OFFICE;
+---------------+-------------+
| NAME | CITY |
+---------------+-------------+
| Bill Adams | Atlanta |
| Mary Jones | New York |
| Sue Smith | Los Angeles |
| Sam Clark | New York |
| Bob Smith | Chicage |
| Dan Roberts | Chicage |
| Tom Snyder | NULL |

6右外连接:右边表中要查询的字段都会出现,在左边表中没有的值用NULL代替

免责声明:文章转载自《数据库中的连接》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇AIR串口通信Token之关于基础概念(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

TP6 学习-路由操作

ThinkPHP-路由 by:Mirror王宇阳 Thinkphp的路由的主要作用是为了让URL地址更加美观、简洁、优雅……;设置路由对URL的检测、验证等操作提供了极大的便利性;路由功能是默认开启的config/app.php文件中设置: 'with_route' => true; 路由配置文件:config/route.php 路由定义文件:...

Vue: axios 请求封装及设置默认域名前缀 (for Vue 2.0)

1. 实现效果 以get方法向http://192.168.32.12:8080/users 发起请求、获取数据并进行处理 this.apiGet('/users', {}) .then((res) => { console.log(res) }, (err) => { console.log(err) }) 2....

list集合绑定在datagridview上时如何实现排序

List<Person> lst = new List<Person>(); lst.Add(new Person("A", "1")); lst.Add(new Person("C", "2")); lst.Add(new Person("B", "3")); BindingCollection<Person> o...

总结PLSQL的快捷键以及使用技巧

http://www.dedecms.com/knowledge/data-base/oracle/2012/0724/3643.html 最近在开发过程中,遇到一些麻烦,就是开发效率问题,有时候其他同事使用PLSQL 编程效率明显高于自己,观察了好久,才发现他使用PLSQL 已经很长时间了而且,他自己也在其中添加了好多快捷方式,      1、登录后默认...

ASP.Net MVC C#画图 页面调用

/////C# 后台代码 public FileContentResult PieChart()        {            TransactionStatisticsBLL bll = new TransactionStatisticsBLL();            TransactionStatistics_Query query =...

PLSQL常用配置之窗口/版面保存、SQL格式化/美化、SQL注释去掉注释等快捷键配置、登陆历史修改配置

http://blog.csdn.net/hyeidolon/article/details/8251791   PLSQL常用配置之窗口/版面保存、SQL格式化/美化、SQL注释去掉注释等快捷键配置、登陆历史修改配置1、PL/SQL Developer记住登陆密码 在使用PL/SQL Developer时,为了工作方便希望PL/SQL Develop...