zoukankan      html  css  js  c++  java
  • 数据库中的连接

    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代替

  • 相关阅读:
    职工工资管理系统 c++课程设计
    我的Python自学之路四,字符串的学习
    我的Python自学之路三:元组及字典学习总结
    我的Python自学之路二:列表学习
    我的Python自学之路一:Python学习路线
    vue项目里在微信浏览器调用微信分享及支付一些页面数据的坑
    vue 三种传值方法
    vue里swiper的一些坑
    js 数据导出为txt文件
    js 小数计算为啥和想象中不一样!
  • 原文地址:https://www.cnblogs.com/sachie/p/1885339.html
Copyright © 2011-2022 走看看