Fw: [SQL ] SQL语法不确定是否正确?

楼主: fightforlive (学历无用论是屁)   2016-03-29 22:38:48
※ [本文转录自 Database 看板 #1Mze4Q8U ]
作者: fightforlive (学历无用论是屁) 看板: Database
标题: [SQL ] SQL语法不确定是否正确?
时间: Sat Mar 26 20:31:20 2016
数据库名称:
数据库版本:
内容/问题描述:
SQL语法里的NOT EXISTS让我有点困扰
有两个问题想请教一下
Q1. 下面的语法意思好像是"只要有王小明修课,就不会列出课程资讯"
http://imgur.com/gDGvS7z
如果要改成"列出王小明没有修的课程资讯",应该要改成以下才对吧?
http://imgur.com/wFuF1AR
Q2. 所有关联表格如下:
http://imgur.com/FqDfBeX
题目: 列出所有参与专案的供应商名称
下面语法是否正确呢?
http://imgur.com/d5Eu3YP
谢谢~
作者: carthur (carthur51)   2016-03-30 08:57:00
子循环若没有from course的话,Where条件会出错。所以Q1的原题就是“列出王小明没有修的课程资讯”。刮号内的子查询会先处理,Q2会出错,所以语法错误。而且题目问是有参与的,请把Not Exists改为Exists。
作者: scvxxx (罐)   2016-03-30 10:54:00
Q1是简单子查询,即"列出王小明没有修的课程资讯"你下面改的应该是相关子查询,意思结果相同,但SQL内部处理不同吧
作者: carthur (carthur51)   2016-03-30 11:47:00
Q2解法2:Select 供应商名称 From 供应商Where 供应商.供应商代号 In (Select 供应商代号 From 专案供应零件, 专案Where 专案供应零件.专案代号=专案.专案代号 )所以,Where条件范围,必须先From该表单才能使用。

Links booklink

Contact Us: admin [ a t ] ucptt.com