SQL語句查尋問題,sql查詢問題

2023-03-25 12:25:03 字數 1557 閱讀 2864

1樓:匿名使用者

這樣的問題,說明你平時不學。基礎書上都有,最簡單的select from where ,如果不會,問老師能更直接些。基礎的東西要吃透。

sql的複雜查詢問題:

關於sql查詢的問題

2樓:哎呀

一、你的**。

select a.* from test1 a,test2 b

將被系統看作是這樣的乙個查詢:

從表a中取出第1條記錄,與表b中的所有的記錄組合並列出來。

再從表a中取出第2條記錄,與表b中的所有的記錄組合並列出來。

再從表a中取出第3條記錄,與表b中的所有的記錄組合並列出來。

再從表a中取出第最後1條記錄,與表b中的所有的記錄組合並列出來。

二、現在,你的情況是b表中沒有資料,所以有:

從表a中取出第1條記錄,與表b中的所有的記錄組合並列出來。因為b表為空,所以列不出。

再從表a中取出第2條記錄,與表b中的所有的記錄組合並列出來。因為b表為空,所以列不出。

再從表a中取出第3條記錄,與表b中的所有的記錄組合並列出來。因為b表為空,所以列不出。

再從表a中取出第最後1條記錄,與表b中的所有的記錄組合並列出來。因為b表為空,所以列不出。

--結果就是,一條記錄也沒有列出來!

三、我這樣說你明白了嗎?你還可以在b表中追加1條記錄,再試著執行你的語句,再追至有2條記錄後,再試,你就會更明白了。

四、一般而言,多數情況下,你的語句應該是類似漿紫的:

select a.* from test1 a,test2 b where

更標準的寫法是:

select a.* from test1 a join test2 b on

3樓:

逗號是cross join的意思,就是所謂的笛卡爾集。

行數=a*b

4樓:唐城冬

你這語句複製全了嗎?怎麼沒有這兩個表的連線語句啊,如果表b沒有資料想顯示的話,就用左連線表a在左邊。

新手求教sql查詢問題

5樓:尚學堂科技****

sql查詢問題比較靈活,常用是多表查詢,有如下幾種供參考:

1、笛卡爾積:select * from 表1,表2;( 列數相加,行數記錄相乘)

2:等值連線:select * from 表1 s1,表2 s2 where =

3、外連線:在等值連線的基礎上加上主表中的未匹配資料(左外和右外)

左:select * from 表1 s1 left join 表2 s2 on =

右:select * from 表1 s1 right join 表2 s2 on =

4、內連線(等值連線的一種)

select * from 表1 s1 inner join 表2 s2 on =

5、子查詢:子查詢在外部查詢的from子句之後使用時,一般被當作乙個資料來源使用。

(注:id為兩張表的相同字段,全文)

SQL2019 SQL語句建立字段問題

alter table studentinfo add stu id int identity 1,1 not null stu name varchar 10 not null default 您講的描述就是語句的註釋,有兩種方法標註 一是在行內使用兩個減號 每一行在雙減號後面的內容為註釋和說明....

sql語句查詢並統計查詢結果數量

可以通過count函式來實現。sqlone select from tablename1 where id 5 此語句查詢出來多條記錄,之後看做乙個新的表。sqltwo select conut from select from tablename1 where id 5 as tablename2...

sql查詢的問題

你補充的問題,可以使用case when then 來完成你的需求 如下 select case when substring hid,6,1 then substring hid,7,4 else substring hid,5,4 end as 結果 from table1 希望對你有幫助 se...