QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2802|回复: 7

请教个简单的mysql的语法问题

[复制链接]
发表于 2005-10-21 00:19:01 | 显示全部楼层 |阅读模式
书上的例子。有两个表student, absence,通过student_id联系在一起。
student table:
mysql> SELECT * FROM student;
+-----------+-----+------------+
| name      | sex | student_id |
+-----------+-----+------------+
| Megan     | F   |          1 |
| Joseph    | M   |          2 |
| Kyle      | M   |          3 |
| Katie     | F   |          4 |
| Abby      | F   |          5 |
| Nathan    | M   |          6 |
| Liesl     | F   |          7 |
| Ian       | M   |          8 |
| Colin     | M   |          9 |
.....

absence table
+------------+------------+
| student_id | date       |
+------------+------------+
|          3 | 2004-09-03 |
|          5 | 2004-09-03 |
|         10 | 2004-09-06 |
|         10 | 2004-09-09 |
|         17 | 2004-09-07 |
|         20 | 2004-09-07 |
+------------+------------+

SELECT * FROM student;和SELECT student_id FROM absence;都是可以正常执行的。但是
SELECT * FROM student WHERE student_id IN (SELECT student_id FROM absence);

这个语句的作用是把student含有absence中有的student_id的记录给显示出来。在mysql里边说是有IN的语法错误?错在什么地方?
如果用下面的语句,就可以。
SELECT * FROM student WHERE student_id IN ('1','2','3')


整个书上IN的语法,都是这么用。大家告诉我这个语法错在什么地方?
发表于 2005-10-21 13:45:32 | 显示全部楼层
MySQL4.1.x才开始支持不完整的嵌套子查询

你可以选择使用PostgreSQL
回复

使用道具 举报

发表于 2005-10-21 19:43:46 | 显示全部楼层
不要用嵌套,你可以
SELECT * FROM student,absence WHERE student.student_id = absence.student_id ;
回复

使用道具 举报

 楼主| 发表于 2005-10-21 22:16:51 | 显示全部楼层
谢谢。我回头看看,那个书上说的myql是用的那个版本。
回复

使用道具 举报

发表于 2005-10-22 17:15:22 | 显示全部楼层
中国的计算机教材都是针对两年前的软件所写的…………
针对新软件的基本上都是随软件的文档的中文翻译。
回复

使用道具 举报

发表于 2005-10-23 13:59:40 | 显示全部楼层
[quote:e818891f87="jiangtao9999"]中国的计算机教材都是针对两年前的软件所写的…………
针对新软件的基本上都是随软件的文档的中文翻译。[/quote]

翻译的时候保证质量就好了
回复

使用道具 举报

发表于 2005-10-23 14:02:47 | 显示全部楼层

会么?
回复

使用道具 举报

发表于 2005-10-23 14:06:51 | 显示全部楼层
就是说嘛

http://lib.verycd.com/2005/10/08/0000068700.html

VeryCD上一哥们儿贡献了好多原版Linux书籍,都是很不错的哦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 23:46 , Processed in 0.036974 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表