sql建表並查詢
三種方法分別如下:
1、使用向導創建資料庫。
2、使用企業管理器創建資料庫。
3、使用Transact-SQL的CREATE DATABASE語句創建資料庫 。
依據資料庫的名稱創建標識,將所述資料庫的名稱和所述標識作為第一key值,將所述資料庫的信息進行保存並作為第一value值,得到所述資料庫對應的KV記錄;在所述資料庫中建立數據表;將所述資料庫的名稱和數據表的名稱作為第二key值。
將所述數據表的信息進行保存並作為第二value值得到所述數據表對應的KV記錄;在所述數據表中插入數據;將所述資料庫的名稱,數據表的名稱和數據的名稱作為第三key值,將所述數據的信息進行保存並作為第三value值,得到所述數據對應的KV記錄;獲得所述適用SQL查詢方法的KV資料庫。
(1)sql建表並查詢擴展閱讀:
SQL中的查詢語句只有一個:SELECT,它可與其它語句配合完成所有的查詢功能。SELECT語句的完整語法,可以有6個子句。
查詢語句的完整的語法如下:
SELECT 目標表的列名或列表達式集合
FROM 基本表或(和)視圖集合
〔WHERE條件表達式〕
〔GROUP BY列名集合
〔HAVING組條件表達式〕〕
〔ORDER BY列名〔集合〕…〕
簡單查詢,使用TOP子句,查詢結果排序order by 默認ASC升序,使用關鍵詞DESC降序。帶條件的查詢where,使用算術表達式,使用邏輯表達式,使用between和in關鍵字。
參考資料來源:網路-SQL資料庫
Ⅱ SQL 新建表,要查詢數據
這個問題得看你的需求了,是你需要創建一個實體表來存儲,還是想暫時用這些數據,而不真正存儲到實體表中呢。
1.
若是創建拿租實體表的話你需雀仔要創建table
a
create
table
a(id
類型,cool1
類消歲兆型,cool2
類型
)
這里的類型要和上面你查詢出來的欄位的類型一致,然後insert
into
a
(id,cool1,cool2)
select
fh.familyid,
sum(h.buildarea)as
cool1
,sum(h.c1
)as
cool2
from
familyhouse
fh
,
house
h
where
fh.roomid=h.id
group
by
fh.familyid
2.
若是你只想用這些數據的話,在存儲過程中可以借用臨時表實現
select
fh.familyid,
sum(h.buildarea)as
cool1
,sum(h.c1
)as
cool2
into
#temp
from
familyhouse
fh
,
house
h
where
fh.roomid=h.id
group
by
fh.familyid
Ⅲ SQL創建了表,在哪裡查看
1、首先在電腦中打開SQL之後,打開navicate,新建一個查詢,如下圖所示。
Ⅳ 資料庫SQL語言建表及查詢
1:
C表清旁升存在
insert into C select A1,A2,B2
from A,B where A1=B1
C表不存在答老
select A1,A2,B2 into C
from A,B where A1=B1
2:select count(B2) as B2條數啟悔
from C
where B2>55 group by B2
Ⅳ SQL多表查詢詳解
本教程為大家介紹SQL中的多表查詢,下面我們來看看具體實例吧。
新建兩張表:
表1:student 截圖如下:
表2:course 截圖如下:
(此時這豎轎派樣建表只是為了演示連接SQL語句,當然實際開發中我們不會這樣建表,實際開發中這兩個表會有自己不同的主鍵。)
一、外連接
外連接可分為:左連接、右連接、完全外連接。
1、左連接 left join 或 left outer join
SQL語句:select * from student left join course on student.ID=course.ID
執行結果:
左外連接包含left join左表所有行,如果左表中某行在右表沒有匹配,則結果中對應行右表的部分全部為空(NULL).
註:此時我們不能說結果的行數等於左表數據的行數。當然此處查詢結果的行數等於左表數據的行數,因為左右兩表此時為一對一關系。
2、右連接 right join 或 right outer join
SQL語句:select * from student right join course on student.ID=course.ID
執行結果:
右外連接包含right join右表所有行,如果左表中某行在右表沒有匹配,則結果中對應左表的部分全部為空(NULL)。
註:同樣此時我們不能說結果的行數等於右表的行數。當然此處查詢結果的行數等於左表數據的行數,因為左右兩表此時為一對一關系。
3、完全外連接 full join 或 full outer join
SQL語句:select * from student full join course on student.ID=course.ID
執行結果:
完全外連接包含full join左右兩表中所有的行,如余賀果右表中某行在左表中帆衡沒有匹配,則結果中對應行右表的部分全部為空(NULL),如果左表中某行在右表中沒有匹配,則結果中對應行左表的部分全部為空(NULL)。
二、內連接 join 或 inner join
SQL語句:select * from student inner join course on student.ID=course.ID
執行結果:
inner join 是比較運算符,只返回符合條件的行。
此時相當於:select * from student,course where student.ID=course.ID
三、交叉連接 cross join
1.概念:沒有 WHERE 子句的交叉聯接將產生連接所涉及的表的笛卡爾積。第一個表的行數乘以第二個表的行數等於笛卡爾積結果集的大小。
SQL語句:select * from student cross join course
執行結果:
如果我們在此時給這條SQL加上WHERE子句的時候比如SQL:select * from student cross join course where student.ID=course.ID
此時將返回符合條件的結果集,結果和inner join所示執行結果一樣。
四、兩表關系為一對多,多對一或多對多時的連接語句
當然上面兩表為一對一關系,那麼如果表A和表B為一對多、多對一或多對多的時候,我們又該如何寫連接SQL語句呢?
其實兩表一對多的SQL語句和一對一的SQL語句的寫法都差不多,只是查詢的結果不一樣,當然兩表也要略有改動。
比如表1的列可以改為:
Sno Name Cno
表2的列可以改為:
Cno CName
這樣兩表就可以寫一對多和多對一的SQL語句了,寫法和上面的一對一SQL語句一樣。
下面介紹一下當兩表為多對多的時候我們該如何建表以及些SQL語句。
新建三表:
表A: student 截圖如下:
表B: course 截圖如下:
表C: student_course 截圖如下:
一個學生可以選擇多門課程,一門課程可以被多個學生選擇,因此學生表student和課程表course之間是多對多的關系。
當兩表為多對多關系的時候,我們需要建立一個中間表student_course,中間表至少要有兩表的主鍵,當然還可以有別的內容。
SQL語句:select s.Name,C.Cname from student_course as sc left join student as s on s.Sno=sc.Sno left join course as c on c.Cno=sc.Cno
執行結果:
此條SQL執行的結果是學生選課的情況。