WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院数据库MySQL Mysql入门系列:MYSQL解决方案随笔 阅读

Mysql入门系列:MYSQL解决方案随笔

 2006-12-31 10:46:19 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愬灚瀚梺鍨儏閳ь剙绉归弻銊р偓闈涙啞閻h京鈧敻鍋婇崰鏍х暦閿燂拷
核心提示: 2. 重新编写选择非匹配值的子选择查询另一种常用的子选择查询是查找一个表中有的而另一个表中没有的值,正如以前所看到的那样,Mysql入门系列:MYSQL解决方案随笔(2),“那些未给出的值”这一类的问题是LEFT JOIN 可能有用的一个线索,下面的查询包含一个子选

2. 重新编写选择非匹配值的子选择查询

另一种常用的子选择查询是查找一个表中有的而另一个表中没有的值。正如以前所看到的那样,“那些未给出的值”这一类的问题是LEFT JOIN 可能有用的一个线索。下面的查询包含一个子选择(它寻找那些全勤的学生):

3.8.2 检查表中未给出的值

我们已经在3 . 6节“检索记录”中看到,在要想知道一个表中哪些值不出现在另一表中时,可对两个表使用LEFT JOIN 并查找那些从第二个表中选中NULL 的行。并用下列两个表举例:

现在让我们来考虑一种更为困难的情况,“缺了哪些值”。对于第1章中提到的学分保存方案中,有一个列出学生的student 表,一个列出已经出现过的学分事件的event 表,以及列出每个学生的每次学分事件学分的一个score 表。但是,如果一个学生在某个测试或测验的同一天病了,那么score 表中将不会有这个学生的该事件的学分,因此,要进行测验或测试的补考。我们怎样查找这些缺少了的记录,以便能保证让这些学生进行补考?问题是要对所有的学分事件确定哪些学生没有某个学分事件的学分。换个说法,就是我们希望知道学生和事件的哪些组合不出现在学分表中。这就是我们希望LEFT JOIN 所做的事。这个连接不像前例中那样简单,因为我们不仅仅要查找不出现在单列中的值;还需要查找两列的组合。

上一页  1 2 3 4 5 6  下一页

Tags:Mysql 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接