mysql 多个select查询_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字段信息相同作为条件建立两表关联,但在实际开发中不应该这样使用,最好用主外键约束来实现

首先创建一个数据库

19862a48bb35e6c4742a6a13c8ae6536.png

学生人数表

552ffc6fdfa76bba12ab4897f54a2ceb.png

学生成绩表

846615f4d6db104c11e033bede02db8b.png

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

方法一:

mysql> select students.number,students.name,students.sex,course.math,course.english,course.chinese

-> from students inner join course

-> on students.number=course.number;

22be19ec6ec8919029a3b35204081ed9.png

方法二:

mysql> select students.number,students.name,students.sex,course.math,course.english,course.chinese

-> from students,course

-> where students.number=course.number;

ac2d2cc6b1dd896d3ba96d4151886e4b.png

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

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;

e683cac48f2fbbe69370c79645eeb50c.png

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

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;

56eaa2aa8b81a81e77d3fe04f14ddf41.png

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL数据库中,SELECT是用于从一个或多个表中检索数据的关键字。SELECT查询表达式的基本语法如下: ```sql SELECT column1, column2, ... FROM table_name WHERE condition; ``` 其中,column1、column2等为要检索的列名,可以使用通配符*代替所有列。table_name为要检索的表名,condition为可选的筛选条件。 在SELECT查询表达式中,可以使用多种表达式来生成结果集。以下是一些常用的SELECT表达式: 1. 聚合函数:用于对结果集进行统计计算,例如SUM、COUNT、AVG、MAX、MIN等。 ```sql SELECT SUM(column_name) FROM table_name; ``` 2. 别名:用于为查询结果中的列或表指定别名,以便更好的阅读和理解查询结果。 ```sql SELECT column_name AS alias_name FROM table_name; ``` 3. 子查询:嵌套在SELECT语句中的查询语句,用于从子查询中获取数据,然后在主查询中使用它。 ```sql SELECT column_name FROM table_name WHERE column_name IN (SELECT column_name FROM table_name WHERE condition); ``` 4. 连接:用于将两个或多个表中的数据合并到一个结果集中,包括INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN等。 ```sql SELECT column_name FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; ``` 5. 字符串函数:用于处理字符串数据,例如CONCAT、LENGTH、SUBSTRING、UPPER、LOWER等。 ```sql SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM table_name; ``` 6. 条件表达式:用于根据条件过滤结果集,例如IF、CASE等。 ```sql SELECT column_name, IF(column_name > 10, '大于10', '小于等于10') AS result FROM table_name; ``` 以上是MySQL数据库中常用的SELECT查询表达式,可以根据实际需求选择使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值