mysql怎么样通过中间表查询实体表达数据呢?
1、mysql>select*fromstudent;+------+---------+-------------+|clid|lession|suid|+------...
1、mysql> select *from student;
+------+---------+-------------+
| clid | lession | suid |
+------+---------+-------------+
| 1 | 语文 | 1(李四的ID) |
| 2 | 化学 | 2(李四的ID) |
| 3 | 化学 | 2(王五的ID) |
| 4 | 计算机 | 3(张三的ID) |
| 5 | 化学 | 2(张三的ID) |
+------+---------+-------------+
5 rows in set (0.00 sec)
2、mysql> select *from coures;
+------+-------+------+-----------+
| suid | sname | ssex | lid |
+------+-------+------+-----------+
| 1 | 李四 | 女 | 1(语文) |
| 2 | 李四 | 女 | 2(化学) |
| 3 | 王五 | 男 | 2(化学) |
| 4 | 张三 | 未知 | 3(计算机) |
| 5 | 张三 | 未知 | 2(化学) |
+------+-------+------+-----------+
5 rows in set (0.00 sec)
mysql> select *from sc;
+------+------+
| uid | lid |
+------+------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 5 | 1 |
| 1 | 2 |
| 5 | 2 |
| 1 | 3 |
| 1 | 4 |
如何通过中间表记录,查询列出 suid , sname, lession 对应的数据呢 ? 下图不是想要的结果
mysql> select student.suid,student.sname,coures.lession from coures,student ;
+------+-------+---------+
| suid | sname | lession |
+------+-------+---------+
| 1 | 李四 | 语文 |
| 1 | 李四 | 化学 |
| 1 | 李四 | 化学 |
| 1 | 李四 | 计算机 |
| 1 | 李四 | 化学 |
| 2 | 李四 | 语文 |
| 2 | 李四 | 化学 |
| 2 | 李四 | 化学 |
| 2 | 李四 | 计算机 |
| 2 | 李四 | 化学 |
| 3 | 王五 | 语文 |
| 3 | 王五 | 化学 |
| 3 | 王五 | 化学 | 展开
+------+---------+-------------+
| clid | lession | suid |
+------+---------+-------------+
| 1 | 语文 | 1(李四的ID) |
| 2 | 化学 | 2(李四的ID) |
| 3 | 化学 | 2(王五的ID) |
| 4 | 计算机 | 3(张三的ID) |
| 5 | 化学 | 2(张三的ID) |
+------+---------+-------------+
5 rows in set (0.00 sec)
2、mysql> select *from coures;
+------+-------+------+-----------+
| suid | sname | ssex | lid |
+------+-------+------+-----------+
| 1 | 李四 | 女 | 1(语文) |
| 2 | 李四 | 女 | 2(化学) |
| 3 | 王五 | 男 | 2(化学) |
| 4 | 张三 | 未知 | 3(计算机) |
| 5 | 张三 | 未知 | 2(化学) |
+------+-------+------+-----------+
5 rows in set (0.00 sec)
mysql> select *from sc;
+------+------+
| uid | lid |
+------+------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 5 | 1 |
| 1 | 2 |
| 5 | 2 |
| 1 | 3 |
| 1 | 4 |
如何通过中间表记录,查询列出 suid , sname, lession 对应的数据呢 ? 下图不是想要的结果
mysql> select student.suid,student.sname,coures.lession from coures,student ;
+------+-------+---------+
| suid | sname | lession |
+------+-------+---------+
| 1 | 李四 | 语文 |
| 1 | 李四 | 化学 |
| 1 | 李四 | 化学 |
| 1 | 李四 | 计算机 |
| 1 | 李四 | 化学 |
| 2 | 李四 | 语文 |
| 2 | 李四 | 化学 |
| 2 | 李四 | 化学 |
| 2 | 李四 | 计算机 |
| 2 | 李四 | 化学 |
| 3 | 王五 | 语文 |
| 3 | 王五 | 化学 |
| 3 | 王五 | 化学 | 展开
2个回答
2013-07-15
展开全部
你的表名字有点奇怪啊。
student 表里面存放的是 课程
coures 表里面存放的是 学生姓名
SELECT
coures.suid,
coures.sname,
student.lession
FROM
sc
JOIN student ON (sc.lid = student.clid )
JOIN coures ON (sc.uid = coures.suid );
更多追问追答
追问
不好意思 这图位置放反了
追答
图位置放反了?
那就是上面的查询 student 和 coures 调换一下。
SELECT
student.suid,
student.sname,
coures.lession
FROM
sc
JOIN coures ON (sc.lid = coures.clid )
JOIN student ON (sc.uid = student.suid );
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询