-
**講解一下mysql資料庫關於查詢語句的例子,重點是用where條件子句,sql語句一定要掌握好,這是學習大資料的基礎。
-
他們都不對。
a.名稱,A主題從 a 作為內部連線 b 作為 a 上的 b名稱=b。名稱,其中 b成績<>“及格”
錯誤,問題是如果A中有乙個名稱和乙個帳戶,並且條件中只有乙個名稱,如果有多個帳戶,則會發生錯誤。
姓名、主題。
from a
where name in (從 b 中選擇名稱 where grade<>'pass');
False,因為條件只是名稱,所以如果乙個人在 B 中不及格,他們將列出所有主題。
a.名稱,A主題,B成績。
from a,b
where a.名稱=b。名稱和主題,B科目和 B成績。 '資格'
錯了,這是1的公升級版,對應的名字和主題問題修改了。 但是,它忽略了這樣乙個事實,即A中可能有乙個名字,而受試者不在B中(例如,如果沒有資料,表B中可能沒有資料)。 這個SQL不會顯示,可能是人員缺席考試,所以需要列出人員。
而問題是把不合格的人列在表A上,理解為列表A比較合適,沒有必要列舉成績。
a.名稱來自 a,b 其中 a.名稱=b。名稱和主題,B科目和 B成績。 '資格'
同上。 而且主題更少。
我的答案:選擇乙個名稱,A科目。
from a
left join b on a.名稱=b。名稱和主題,B科目。
where b.成績。 '不合格的' or b.成績為空
如果,真的,只有名字,雖然我覺得這個資訊太少了,而且實際問題不合理,你可以。
select distinct a.名字。
from a
left join b on a.名稱=b。名稱和主題,B科目。
where b.成績。 '不合格的' or b.成績為空
-
select a.名稱來自 a,b 其中 a.名稱=b。名稱和主題,B科目和 B成績。 '資格'
-
可以使用 join,也可以使用 subquery
舉個子查詢示例,它看起來更清晰,不會對 attri 的選擇名稱和主題造成混淆。
from a
where name in (從 b 中選擇名稱 where grade<>'pass');
-
select a.名稱,A主題從 a 作為內部連線 b 作為 a 上的 b名稱=b。名稱,其中 b成績<>“及格”
-
select a.名稱,A主題,B成績。
from a,b
where a.名稱=b。名稱和主題,B科目和 B成績。 '資格'
-
表示式不清楚,您發布了表字段。
主表和明細表必須有關聯的字段,例如跟蹤號:pno,明細表的日期字段,例如:updatetimeselect * from tablea as a, tableb as b 其中關聯和 in (select max(updatetime) from b) 是 tableb 表中最大的當前日期,當然,如果有兩個或多個最大日期, 會是一樣的! >>>More
新年是如此美好的一年:芬芳的鮮花、芬芳的美酒、溫暖的祝福、美好的回憶和新的愛情。 即使沒有一切,愛也足夠了。 >>>More