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...