數(shù)據(jù)庫的建立,步驟如下 1. 新建數(shù)據(jù)庫,建表,如下圖,很簡單基本上右鍵新建就行,然后添加字段 2. 接下來要建立視圖查詢,查詢2個表中,指定兩個用戶之間的消息,先要新建視圖,點(diǎn)擊新建查詢即可,輸入代碼,視圖的命名空間與表相同,所以不能跟表取相同的名稱 視圖是什么? 如果大家覺得有時候會需要,請關(guān)注微信公眾號--老王工控筆記,文章末尾有二維碼 視圖的好處: 1.可以從不同表中,檢索到需要的數(shù)據(jù),也保護(hù)了另一部分的數(shù)據(jù),(即可以允許用戶通過視圖訪問數(shù)據(jù)的安全機(jī)制,而不授予用戶直接訪問底層表的權(quán)限) 2. 可以不用知道各表之間的結(jié)構(gòu)及其之間的關(guān)系 3. 視圖也可以像表一樣操作, 4. 視圖還可以更新表中的數(shù)據(jù), 5. 視圖可以理解,表為根基,視圖是在他上面的動態(tài)顯示界面 6. 視圖還可以被嵌套,一個視圖中可以嵌套另一個視圖 視圖有個地方需要注意,當(dāng)用多個聯(lián)結(jié)和過濾創(chuàng)建了復(fù)雜的視圖或者嵌套了視圖,可能會發(fā)現(xiàn)性能下降得很厲害,需要測試下,視圖必須要有檢索條件才可以觸發(fā) 源代碼如下: CREATE VIEW [dbo].[v_Message2] AS SELECT DISTINCT dbo.tb_Message.ID, dbo.tb_Message.FromUserID, dbo.tb_Message.ToUserID, dbo.tb_Message.Message, dbo.tb_Message.MessageTypeID, dbo.tb_Message.MessageState, dbo.tb_Message.MessageTime, dbo.tb_User.NickName FROM dbo.tb_Message INNER JOIN dbo.tb_User ON dbo.tb_Message.FromUserID = dbo.tb_User.ID 雖然很簡短,但是有好幾個知識點(diǎn),先說句式 SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號 這里用大白話來解釋下上面的句式: 查詢表1和表2的全部字段中,把表1字段跟表2字段一樣的數(shù)據(jù)重新組合成表 (*表示全部字段,也可以指定表1表2中的字段)(字段比較必須是相同類型,但可以不同數(shù)值,但不可以是單雙精度類型)(任何關(guān)系比較運(yùn)算符:“=”、“<”、“>”、“<=”、“>=”或者“<>”。) sql語句如下: 結(jié)果如下: 結(jié)果說明: 注:SELECT DISTINCT 這個指令的意思是查找到字段下不重復(fù)的數(shù)據(jù),語句用于返回唯一不同的值,在表中,一個列可能會包含多個重復(fù)值,有時我們希望僅僅列出不同(distinct)的值,比如某個字段下有 1,3,3,5,5,1,那你加了這個指令,結(jié)果就會顯示1,3,5,1 |
|