zoukankan      html  css  js  c++  java
  • 常用sql

    多表查询:http://www.w3school.com.cn/sql/sql_join.asp

    1.SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons
    INNER JOIN Orders
    ON Persons.Id_P = Orders.Id_P
    ORDER BY Persons.LastName

    除了我们在上面的例子中使用的 INNER JOIN(内连接),我们还可以使用其他几种连接。

    下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。

    • JOIN: 如果表中有至少一个匹配,则返回行   
    • LEFT JOIN:  关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
    • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
    • FULL JOIN: 只要其中一个表中存在匹配,就返回行
    • inner join    在表中存在至少一个匹配时返回行。如果 "Persons" 中的行在 "Orders" 中没有匹配,就不会列出这些行

     2.多表统计查询

    我有一个表 h_travel 用户表  还有一个表h_travel_line 数据表
    两个表都有 u_id 值
    我要查出所有的h_travel表信息并且同时统计改用户已经发布了多少条数据
    selct * from h_travel
    select count(u_id) from h_travel_line where u_id = h_travel.u_id
    这两条语句写成一个

    例如结果是这样的
    ID UID NAME AGE LINECOUNT
    编号 用户编号 名称 年龄 已线路数
    1 23 李磊 20 87
    2 24 张三 23 24
    select *,(select count(u_id) from h_travel_line where u_id = a.u_id) 已线路数
    from h_travel a
    如此便可
    自己的:select *,(select sum(p.P_Price) as price from payTrace as p where p.P_Xh=s.Id) from  studentI as s where s.Recomm=4
    1.select sum(p.P_Price) as price from payTrace as p where p.P_Xh=s.Id 通过id把缴费金额统计起来
    2.select *,score from  studentI as s where s.Recomm=4 根据推荐人id 获取旗下信息
  • 相关阅读:
    友盟上报 IOS
    UTF8编码
    Hill加密算法
    Base64编码
    Logistic Regression 算法向量化实现及心得
    152. Maximum Product Subarray(中等, 神奇的 swap)
    216. Combination Sum III(medium, backtrack, 本类问题做的最快的一次)
    77. Combinations(medium, backtrack, 重要, 弄了1小时)
    47. Permutations II(medium, backtrack, 重要, 条件较难思考)
    3.5 find() 判断是否存在某元素
  • 原文地址:https://www.cnblogs.com/0to9/p/5132482.html
Copyright © 2011-2022 走看看