excel中的sql
查詢是資料庫最常用的操作,也是最重要的操作.SQL語言提供了SELECT語句進行資料庫的查詢,該語句的一般格式如下:SELECT select listFROM table source!WHE咫search_ condition][GROUP BY group一y_expression]I HAVING search condition][ ORDER BY order expression[ASC I DESC]]其主要元素說明如下:select list要選擇的列或表達式的集合。table source基本表或者視圖的集合.search condition進行查詢的條件.groupee by_expression可以根據某些特定的列進行分組。search condition分組的條件值.order expression查詢結果是按照列的集合來進行升序或者降序排序.由於SELECT語句的復雜性,一下面例子涉及到一個客戶、訂單資料庫。客戶基本信息表:Customer(CustomerlD,CompanyName,Address,City, Phone, Fax)Customer由客戶編號(CustomerlD )、公司名稱(CompanyName)、公司地址(Address) .公司所在城市(City)、公司電話(Phone)和傳真(Fax) 6個屬性組成,其中客戶編號(CustomerlD )是關鍵字.商品信息表:Proct(ProctID, ProctName,UnitPrice)Proct山產品編號(ProctID )、產品名稱(ProctName)和產品單價(UnitPrice )3個屬性組成,其中產品編號(ProctID )是關鍵字。客戶汀單表:Orders(OrderlD,CustomerID,ProctID,OrderDate,RequiredDate,OrderQuantity)Order由訂單編號(OrderlD )、客戶編號(CustomerlD )、產品編號(ProctID )、訂單日期(OrderDate )、訂單預交日(RequiredDate)和訂單數量(OrderQuantity) 6個屬性組成,其中OrderlD是關鍵字.
② 2010版excel中sql怎麼使用
在EXECL中無法使用SQL語句!因為excel沒有內嵌sql語言,如果非想使用,那麼你應該選用Access而不是excel。但是在SQL server等資料庫中可以使用excel,也就是將excel轉成資料庫。
否則,只能使用excel中自帶的各種函數實現。比如你要統計一個數據范圍,可以考慮使用if,如果計數的話,可以考慮使用ifcount,等等還有類似的平均值等統計函數均可以在excel中查看!
如果是對輸入值有限制的話,可以考慮使用vba進行宏編輯!
③ 如何在excel表格中讀取sql資料庫數據
excel程序自帶的外部數據連接功能,可以連接sql伺服器。具體步驟為:
1、選擇【數據】選項卡,在【獲取外部數據】分組,找到【自其他來源】。
2、單擊【自其他來源】按鈕,打開【選擇來源】下拉菜單。
3、選擇【來自sql
server】打開【數據連接向導】對話框。
4、填寫伺服器名稱、登錄的用戶名及密碼等信息,即可成功連接。
④ Excel中如何用SQL進行多工作簿匯總
對於經常使用Excel的人來說,在Excel中使用SQL能高效處理你的數據,但據我所知Excel中的SQL語法與MySQL數據的語法還有點不一樣。現在我就來實例說明如何用SQL語句對多個工作簿進行匯總。假如我們要匯總如下三個工作簿
1. 學生信息表
2. 學生成績表
3. 學生興趣表
將這三個工作簿按相同學號進行合並,大致分如下幾步:
1. 載入數據
在Excel中,依次點擊:數據-自其它來源-來自Microsoft Query-Excel Files*
然後再找到你Excel表格的存放目錄,如下圖
點擊下面你要載入的Excel數據表,進入下面頁面
將上圖可用的三張表都加入到右邊查詢結果中的列,加入完成後點擊下一步,數據就載入完成了。
2. 編寫SQL代碼並執行
接下來點擊上面的SQL按鈕開始寫SQL合並代碼。單純的合並代碼如下
SELECT
tm.*,
tn.興趣愛好 AS 興趣愛好
FROM(
SELECT
ta.學號 AS 學號,
ta.姓名 AS 姓名,
ta.年齡 AS 年齡,
ta.性別 AS 性別,
ta.身高 AS 身高,
ta.出生地 AS 出生地,
tb.語文成績 AS 語文成績,
tb.數學成績 AS 數學成績
FROM(
SELECT
tt.學號 AS 學號,
tt.姓名 AS 姓名,
tt.年齡 AS 年齡,
tt.性別 AS 性別,
tt.身高 AS 身高,
tt.出生地 AS 出生地
FROM [學生基本信息表$] tt
)ta
INNER JOIN(
SELECT
tt.學號 AS 學號,
tt.語文成績 AS 語文成績,
tt.數學成績 AS 數學成績
FROM [學生成績表$] tt
)tb
ON ta.學號=tb.學號
)tm
INNER JOIN(
SELECT
tt.學號 AS 學號,
tt.興趣愛好 AS 興趣愛好
FROM [學生興趣表$] tt
)tn
ON tm.學號=tn.學號
將代碼寫好後復制放入文本框中,點擊確定按鈕,就開始執行SQL語句。結果如下
這樣就完成了三個工作簿的數據合並,接下來將數據返回Excel表。
3. 返回數據到Excel表
點擊左上角的文件-將數據返回Microsoft Excel,彈出如下頁面
選擇數據的存放位置為新工作表,然後點擊確定即可,最終得到如下數據表
這樣就完成了三個工作簿的數據合並。
Tips:
1. 由於Excel中執行SQL語句時沒有比較詳細的報錯信息,如果SQL代碼語法有錯誤有可能執行會報錯,這個問題可以上網查詢或者直接在評論區問我。
2. 在Excel SQL中常用到的合並操作有INNER JOIN、LEFT JOIN、RIGHT JOIN、UNION、UNION ALL等,但不支持FULL JOIN。更復雜的需求都有一定的處理技巧。
⑤ 如果excel中想使用sql語句怎麼使用
在execl中無法使用sql語句!因為excel沒有內嵌sql語言,如果非想使用,那麼你應該選用access而不是excel。但是在sql
server等資料庫中可以使用excel,也就是將excel轉成資料庫。
否則,只能使用excel中自帶的各種函數實現。比如你要統計一個數據范圍,可以考慮使用if,如果計數的話,可以考慮使用ifcount,等等還有類似的平均值等統計函數均可以在excel中查看!
如果是對輸入值有限制的話,可以考慮使用vba進行宏編輯!
⑥ 如何在Excel中使用SQL語言實現數據查詢
1.選中表格後單擊右鍵選擇「定義名稱」
2.單擊後,出現命名對話框
3.這里將表1和表2分別命名為Table1和Table2。
4.選擇上方的「數據」選項卡,選擇「自其他來源」下的「來自Microsoft Query 」選項
5.在彈出的對話框中選擇Excel Files*那一項,並且把對話框下面的「使用「查詢向導」創建/編輯查詢」勾掉,
6.點擊「確定」,便出現「選擇工作簿」的對話框,這里選擇包含表1和表2的工作表xxx.xlsx
7.點擊確定後之後彈出添加表的對話框
8.點擊確定後之後彈出添加表的對話框
9.輸入SQL語句的按鈕,彈出輸入SQL語句的對話框 輸入SQL,看到篩選出來的數據表
10.將篩選出來的數據表再返回至Excel工作表當中,選擇菜單中的「文件」——「將數據返回Microsoft Excel」,純手打,望採納答案哦,謝謝
⑦ 在EXCEL中用SQL語句實現
先建立一個sheet通過數據頁簽中自其它來源,將資料庫中的資料導入。然後再建立一個sheet通過數據頁簽中的現有連接,然後通過sql語句就可以比較那兩個sheet中的內容了。以後直接點擊刷新數據就可以了
⑧ EXCEL中是SQL語句
如圖
但只能查整張表內容,不能寫腳本篩選或分組
建議把要顯示的內容先做成視圖,再這樣拉出來
------------------------------------------------
又看了一遍問題,確認了你的需求
excel只能做篩選,不能寫腳本
能寫腳本的是access
⑨ 怎麼在excel中正確使用SQL的查詢語句
ALT+F11,打開VBE,插入一個模塊,把以下代碼復制進去:
Sub dosql(sql, a As Range)
Dim Conn As Object
Set Conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
PathStr = ThisWorkbook.FullName
Select Case Application.Version * 1
Case Is <= 11
strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & PathStr
Case Is >= 12
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathStr & ";Extended Properties=""Excel 12.0;HDR=YES"";"""
End Select
Conn.Open strConn
Set rst = Conn.Execute(sql)
If VBA.InStr(sql, "select") > 0 or VBA.InStr(sql, "Select") > 0 Then
With a.Parent
For i = 0 To rst.fields.Count - 1
.Cells(1, a.Column + i).EntireColumn.ClearContents
.Cells(1, a.Column + i) = rst.fields(i).Name
Next
End With
a.Offset(1).CopyFromRecordset rst
For i = 0 To rst.fields.Count - 1
a.Parent.Cells(1, a.Column + i).EntireColumn.AutoFit
Next
End If
Conn.Close
End Sub
Public Sub t()
'sql = "這里寫你的查詢語句"
dosql sql, [E1]
End Sub
1、記得運行代碼前要保存工作簿
2、查詢語句中,表名是[工作表名$]這樣的格式
3、dosql sql, [E1]中的E1,就是要放查詢結果的區域左上角那個單元格。
⑩ EXCEL中能不能直接執行SQL語句
1、需要導入的數據如圖。