請求一句sql查詢語句,求幫寫一個sql查詢語句

2023-05-31 02:10:12 字數 2920 閱讀 7157

1樓:匿名使用者

如樓上所述:優先順序問題,sql的優先順序not>and>orsqltext="

select *

from ddd

where (a1 like '%keyword&"%or a2 like '%keyword&"%or a3 like '%keyword&"%and a3 is not null

order by date1 desc

附加意見:語句最好能按我上面的餓格式寫,比較直觀,且容易查錯!

2樓:匿名使用者

優先順序問題。sql的優先順序not>and>or

%keyword&"%or a2 like '%keyword&"%or a3 like '%keyword&"%and a3 <>null

加個括號試試。

求幫寫一個sql查詢語句

3樓:路過的內個小夥

首先a表和b表沒有直接關係,所以關聯查詢的時候無法同時查詢,換句話說你給的表結構不是很對,可以先了解下我這個圖,總結:兩個表要有相同的欄位才能進行關聯查詢,完全沒有關係的話查詢是沒有意義的。

select b.姓名,a.年級,a.班級 from a表,b表 where a.年級=b.年級 and/or a.班級=b.年級。

上邊語句其實是有一些資料冗餘問題的,因為表結構設計的不是很好,但是關聯查詢重點是需要兩個表內有相同含義欄位的,這個清楚就好理解很多了。

你說的班級=1,只需要在where條件里加上相應的 a.班級=1即可,根據表設計的欄位型別,如果是數值型就直接=1,如果是字元型=『1』。條件不難,但是表結構要規劃好,我再給你一個具體的比較好的表圖如下。

以上3表關聯查詢。

select b.姓名,a.年級,c.班級 from a表,b表,c表 where a.學號=1 and a.年級=b.序號 and a.班級=c序號。

注意上邊的語句,a.年級=b.序號 和a.

班級=c.序號 因為b表學員表中存的是序號,所以要對應a和c表裡的序號值做條件相等判斷,但是返回值(select後你可以看到的)是具體的漢字內容。

這個sql查詢語句要怎麼寫

4樓:匿名使用者

沒有一個對的。

a.姓名,a.科目 from a as a inner join b as b on a.姓名=b.姓名 where b.成績<>『合格』

錯誤,問題在於,如果a中存在姓名與科目,而條件中只有姓名,如果存在多科目就會出錯。

姓名,科目。

from a

where 姓名 in (select 姓名 from b where 成績<>『合格』);

錯誤,因為條件只有姓名,所以如果一個人在b中有一科成績不合格就會把所有科目列出來。

a.姓名,a.科目,b.成績。

from a,b

where a.姓名=b.姓名 and a.科目=b.科目 and b.成績<>'合格'

錯誤,這個是1的升級版,修改了姓名、科目的對應問題。但忽略了可能存在a中的姓名、科目不存在b中的情況(如缺考情況下,b表中可能沒有資料)。這一sql不會顯示,此時可能是人員缺考,所以人員需要列出。

而且題意是要列出a表中不是合格的人員,更合適的理解是列出a表,並不需要列出成績。

a.姓名 from a,b where a.姓名=b.姓名 and a.科目=b.科目 and b.成績<>'合格'

錯誤同上。而且少了科目。

我的答案:select a.姓名, a.科目。

from a

left join b on a.姓名=b.姓名 and a.科目 = b.科目。

where b.成績 = 不合格' or b.成績 is null

如果,真的只要姓名,雖然我認為這樣資訊量太少,實際問題也不合理,則可以。

select distinct a.姓名。

from a

left join b on a.姓名=b.姓名 and a.科目 = b.科目。

where b.成績 = 不合格' or b.成績 is null

5樓:時空遙控器

select a.姓名 from a,b where a.姓名=b.姓名 and a.科目=b.科目 and b.成績<>'合格'

6樓:匿名使用者

可以用join,也可以用subquery

給個subquery的例子,看起來清楚點,不會產生attri的混淆select 姓名,科目。

from a

where 姓名 in (select 姓名 from b where 成績<>『合格』);

7樓:匿名使用者

select a.姓名,a.科目 from a as a inner join b as b on a.姓名=b.姓名 where b.成績<>『合格』

8樓:心甘情願

select a.姓名,a.科目,b.成績。

from a,b

where a.姓名=b.姓名 and a.科目=b.科目 and b.成績<>'合格'

幫我寫句SQL查詢語句

select 班級一 union select 班級二 union select 班級三 select 班級一 union select 班級二 union select 班級三 沒有表,大概不能使用select命令吧 沒有表無法查詢 想要查詢必須先建立表 對啊,沒有表 就不知道具體的表結構是怎樣的...

寫一條sql語句

select case when yw 80 then 優秀 when yw 60 and yw 80 then 及格 when yw 60 then 不及格 end 語文 case when sx 80 then 優秀 when sx 60 and yw 80 then 及格 when sx 60...

從多個表中查詢資料的sql語句,sql一個表中同時查詢兩個count的sql語句

建立一個儲存過程用來讀取 create procedure testpercudureasdeclare col integerdeclare tablename varchar 100 declare sql as varchar 200 begin select top 0 qqnum into...