zoukankan      html  css  js  c++  java
  • MySQL的select多表查询

    select 语句:

    select 语句一般用法为: select 字段名 from tb_name where 条件 ;

    select 查询语句类型一般分为三种: 
    单表查询,多表查询,子查询

    最简单的单表查询 : select * from tb_name; 
    *表示,所有字段

    查询特定字段(投影): 
    select 字段名1,字段名2, from tb_name;

    where 语句过滤查询(选择)

    select * from tb_name where 条件 ;

    使用SELECT子句进行多表查询

    SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件


    SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id
    注:在上面的的代码中,以两张表的id字段信息相同作为条件建立两表关联,但在实际开发中不应该这样使用,最好用主外键约束来实现

    首先创建一个数据库

    学生人数表

    学生成绩表

    显示每个学生的对应的成绩

    方法一:

    mysql> select students.number,students.name,students.sex,course.math,course.english,course.chinese 
        -> from students inner join course
        -> on students.number=course.number;
    

    方法二:

    mysql> select students.number,students.name,students.sex,course.math,course.english,course.chinese
        -> from students,course
        -> where students.number=course.number;
    

    根据学号排名升序输出成绩

    mysql> select students.number as 学号,students.name as 姓名,course.math as 数学,course.english as 英语,course.chinese as 语文 from students,course where students.number=course.number  order by students.number;
    
    

    求学生的总成绩,并显示出来,成绩按降序排列

    mysql> select students.number as 学号,students.name as 姓名,(course.math+course.english +course.chinese) as 总成绩 from students,course where students.number=course.number  order by 总成绩 desc;
    

  • 相关阅读:
    Linux系统目录数和文件数限制
    用十条命令在一分钟内检查Linux服务器性能
    Linux 性能
    vmstat命令
    利用Clonezilla备份还原Linux系统 (转载别人的知识)
    性能,并发,压力--别人所写
    linux -top 命令
    Linux 随写
    接口测试
    Jmeter关联正则表达式提取器
  • 原文地址:https://www.cnblogs.com/heian99/p/11972287.html
Copyright © 2011-2022 走看看