Table of Contents
1. Area into table
2. Cross-workbook tables
Home Topics excel Summarize the use of 'table' in Excel SQL queries

Summarize the use of 'table' in Excel SQL queries

Apr 06, 2022 pm 05:36 PM
excel

This article brings you relevant knowledge about excel, which mainly introduces the use of tables in SQL queries, including regional tables, cross-workbook tables, etc. ,I hope everyone has to help.

Summarize the use of 'table' in Excel SQL queries

Related learning recommendations: excel tutorial

Today we will talk about the Excel table in the SQL statement.

1. Area into table

There are many differences between Excel worksheet and database data table. The most significant point is that the database data table can be understood as consisting of rows and columns, while The Excel worksheet is composed of cells one after another, and these cells have unique address expression methods, that is, A1 or R1C1. They can also form a range of cells with connected data, such as A2:H8.

Then the question is, if we only need to calculate part of an Excel worksheet, how should we express it in SQL?

This kind of problem is very common.

For example, many people’s Excel title row is not in the first row of the table, but in the second row...

As shown in the figure below

Summarize the use of table in Excel SQL queries

At this time, we hope to calculate the cell range of columns A2:F, so that it is easier for us to use field names to process data, rather than the entire Excel worksheet...

Another example, a There are two or more "tables" inside and outside the table... What does this sentence mean?

See the picture below

Summarize the use of table in Excel SQL queries

In the table shown in the picture, there is both a "teacher table" and a "student table"; If we only want SQL to reference and calculate the teacher table data of A2:D8...

... SQL in Excel actually supports using the cell range of the worksheet as a "table".

For the problem shown in the above picture, the SQL can be written as:

SELECT 姓名,学科 FROM [数据表$A2:D8]
Copy after login

The query results are as follows:

Summarize the use of table in Excel SQL queries

In the first case, we Knowing that the data starts in cell A2, but does not know which cell in column F ends, the SQL can be written as:

SELECT 姓名,爱好 FROM [学生表$A2:F]
Copy after login

In addition, if we need the SQL reference to calculate the data in the entire column D:G of the table, the SQL can be written as :

SELECT * FROM [学生表$D:G]
Copy after login

Summarize the above ways of expressing the Excel worksheet area, that is, the worksheet name, the dollar sign $, the cell address in the relative reference state, and finally wrapped in square brackets.

Just Jiang Zi.

Tips for this section:

[Student table $A2:F], we say that this statement can refer to the cell range from column A2 to column F where the last data exists, but This is subject to a limited precondition, which is a non-self-connected state. The so-called self-join refers to the workbook that SQL should be used to link itself. In the self-linking state, the maximum expression of A2:F is A2:F65536 rows; if the reference rows required at this time exceed 65536 rows, please use the whole table mode.

2. Cross-workbook tables

A well-known problem is that Excel functions are very tired when processing cross-workbook data, except for a few lookup reference functions (such as VLOOKUP etc.), most functions need to open the relevant workbook before they can be calculated and used.

Yes, the VLOOKUP function does not need to open the relevant workbook and can be used across workbooks. Moreover, after the VLOOKUP formula is written, even if you delete the workbook it refers to, it will not hinder it. Calculation, this is because it has cached relevant data in the workbook where the formula is located, but VLOOKUP mode does not support complex nesting of functions... Snap your fingers, if you are interested, we will chat separately another day one time.

...Ahem, back to SQL~~

...The SQL statements we shared before are all used to process the tables of the current workbook. If the data we need to process is located in other workbooks , how to express SQL?

For example, obtain all the data of the "Grade Table" in the "Student Table. Don't let me admire you.

If it is the OLE DB method (refer to Chapter 1 of this series of tutorials for this method), the SQL statement is as follows

SELECT * FROM [D:\EH小学\学生表.xlsx].[成绩表$]
Copy after login

The specified table string after FROM consists of two parts, the first square bracket Inside is the complete workbook name with a suffix in the storage path of the specified workbook, and inside the last square bracket is the worksheet name, and the two square brackets are connected with a period (.).

If you are using SQL statements through VBA ADO...

Knock on the bookcase in front of the warning: Children's shoes with poor VBA foundation, please skip the following content...

Compared with OLE DB method, VBA ADO method is much more flexible. It can use ADO to directly create and open a link to the specified workbook, so the SQL statement does not need to specify the complete name of the workbook, etc.

The code reference is as follows

Sub ADO_SQL()
'适用于除2003版以外的高版本Excel
Dim cnn As Object, rst As Object
Dim strPath As String, strCnn As String, strSQL As String
Dim i As Long
Set cnn = CreateObject("adodb.connection")
strPath = "D:\EH小学\学生表.xlsx" '指定工作簿
strCnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & strPath
cnn.Open strCnn '创建并打开到指定工作簿的链接
strSQL = "SELECT * FROM [成绩表$]" 'strSQL语句,查询成绩表的所有数据
Set rst = cnn.Execute(strSQL) '执行strSQL
Cells.ClearContents
For i = 0 To rst.Fields.Count - 1
Cells(1, i + 1) = rst.Fields(i).Name
Next
Range("a2").CopyFromRecordset rst
cnn.Close
Set cnn = Nothing
End Su
Copy after login

The 7th line of the above code directly specifies the complete name of the workbook that needs to be connected, and there is no need for special processing in the SQL statement.

但更多的情况是,ADO创建的链接是一个工作簿,需要获取的数据在另一个或多个工作簿,例如两个工作簿之间的数据查询统计。此时通常使用的代码如下

Sub ADO_SQL2()
'适用于除2003版以外的高版本Excel
Dim cnn As Object, rst As Object
Dim strPath As String, strCnn As String, strSQL As String
Dim i As Long
Set cnn = CreateObject("adodb.connection")
strPath = ThisWorkbook.FullName '代码所在工作簿的完整名称
strCnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & strPath
cnn.Open strCnn '创建到代码所在工作簿的链接
strSQL = "SELECT * FROM [Excel 12.0;DATABASE=D:\EH小学\学生表.xlsm].[成绩表$]"
Set rst = cnn.Execute(strSQL) '执行SQL
Cells.ClearContents
For i = 0 To rst.Fields.Count - 1
Cells(1, i + 1) = rst.Fields(i).Name
Next
Range("a2").CopyFromRecordset rst
cnn.Close
Set cnn = Nothing
End Sub
Copy after login

代码中第7行创建了当前工作簿的链接,SQL语句中又指定了另外一个工作簿的链接。SQL语句如下

SELECT * FROM [Excel 12.0;DATABASE=D:\EH小学\学生表.xlsx].[成绩表$]
Copy after login

FROM指定表的字符串有两部分组成。第一个中括号中,Excel 12.0是目标工作簿的版本号,第2章时我们讲过,Excel 12.0适用于除了2003以外的所有Excel版本。DATABASE指定的是数据源工作簿的路径和名称。第2个中括号内是工作表名。两个中括号之间使用英文点号相连。

看起来似乎VBA+ADO方法的SQL语句比OLE DB法更复杂?确实如此,不过前者的功能也更强大。比如,它可以通过VBA对象的属性、方法,循环和判断语句等,有条件的筛选工作簿和工作表……相比之下,OLE DB中的SQL语句就是纯手工常量模式了。当然,更重要的是,前者不但可以查数据,还可以增改删数据,后者却只限于查。

相关学习推荐:excel教程

The above is the detailed content of Summarize the use of 'table' in Excel SQL queries. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What should I do if the frame line disappears when printing in Excel? What should I do if the frame line disappears when printing in Excel? Mar 21, 2024 am 09:50 AM

If when opening a file that needs to be printed, we will find that the table frame line has disappeared for some reason in the print preview. When encountering such a situation, we must deal with it in time. If this also appears in your print file If you have questions like this, then join the editor to learn the following course: What should I do if the frame line disappears when printing a table in Excel? 1. Open a file that needs to be printed, as shown in the figure below. 2. Select all required content areas, as shown in the figure below. 3. Right-click the mouse and select the "Format Cells" option, as shown in the figure below. 4. Click the “Border” option at the top of the window, as shown in the figure below. 5. Select the thin solid line pattern in the line style on the left, as shown in the figure below. 6. Select "Outer Border"

How to filter more than 3 keywords at the same time in excel How to filter more than 3 keywords at the same time in excel Mar 21, 2024 pm 03:16 PM

Excel is often used to process data in daily office work, and it is often necessary to use the "filter" function. When we choose to perform "filtering" in Excel, we can only filter up to two conditions for the same column. So, do you know how to filter more than 3 keywords at the same time in Excel? Next, let me demonstrate it to you. The first method is to gradually add the conditions to the filter. If you want to filter out three qualifying details at the same time, you first need to filter out one of them step by step. At the beginning, you can first filter out employees with the surname "Wang" based on the conditions. Then click [OK], and then check [Add current selection to filter] in the filter results. The steps are as follows. Similarly, perform filtering separately again

How to change excel table compatibility mode to normal mode How to change excel table compatibility mode to normal mode Mar 20, 2024 pm 08:01 PM

In our daily work and study, we copy Excel files from others, open them to add content or re-edit them, and then save them. Sometimes a compatibility check dialog box will appear, which is very troublesome. I don’t know Excel software. , can it be changed to normal mode? So below, the editor will bring you detailed steps to solve this problem, let us learn together. Finally, be sure to remember to save it. 1. Open a worksheet and display an additional compatibility mode in the name of the worksheet, as shown in the figure. 2. In this worksheet, after modifying the content and saving it, the dialog box of the compatibility checker always pops up. It is very troublesome to see this page, as shown in the figure. 3. Click the Office button, click Save As, and then

How to type subscript in excel How to type subscript in excel Mar 20, 2024 am 11:31 AM

eWe often use Excel to make some data tables and the like. Sometimes when entering parameter values, we need to superscript or subscript a certain number. For example, mathematical formulas are often used. So how do you type the subscript in Excel? ?Let’s take a look at the detailed steps: 1. Superscript method: 1. First, enter a3 (3 is superscript) in Excel. 2. Select the number "3", right-click and select "Format Cells". 3. Click "Superscript" and then "OK". 4. Look, the effect is like this. 2. Subscript method: 1. Similar to the superscript setting method, enter "ln310" (3 is the subscript) in the cell, select the number "3", right-click and select "Format Cells". 2. Check "Subscript" and click "OK"

How to set superscript in excel How to set superscript in excel Mar 20, 2024 pm 04:30 PM

When processing data, sometimes we encounter data that contains various symbols such as multiples, temperatures, etc. Do you know how to set superscripts in Excel? When we use Excel to process data, if we do not set superscripts, it will make it more troublesome to enter a lot of our data. Today, the editor will bring you the specific setting method of excel superscript. 1. First, let us open the Microsoft Office Excel document on the desktop and select the text that needs to be modified into superscript, as shown in the figure. 2. Then, right-click and select the "Format Cells" option in the menu that appears after clicking, as shown in the figure. 3. Next, in the “Format Cells” dialog box that pops up automatically

How to use the iif function in excel How to use the iif function in excel Mar 20, 2024 pm 06:10 PM

Most users use Excel to process table data. In fact, Excel also has a VBA program. Apart from experts, not many users have used this function. The iif function is often used when writing in VBA. It is actually the same as if The functions of the functions are similar. Let me introduce to you the usage of the iif function. There are iif functions in SQL statements and VBA code in Excel. The iif function is similar to the IF function in the excel worksheet. It performs true and false value judgment and returns different results based on the logically calculated true and false values. IF function usage is (condition, yes, no). IF statement and IIF function in VBA. The former IF statement is a control statement that can execute different statements according to conditions. The latter

Where to set excel reading mode Where to set excel reading mode Mar 21, 2024 am 08:40 AM

In the study of software, we are accustomed to using excel, not only because it is convenient, but also because it can meet a variety of formats needed in actual work, and excel is very flexible to use, and there is a mode that is convenient for reading. Today I brought For everyone: where to set the excel reading mode. 1. Turn on the computer, then open the Excel application and find the target data. 2. There are two ways to set the reading mode in Excel. The first one: In Excel, there are a large number of convenient processing methods distributed in the Excel layout. In the lower right corner of Excel, there is a shortcut to set the reading mode. Find the pattern of the cross mark and click it to enter the reading mode. There is a small three-dimensional mark on the right side of the cross mark.

How to insert excel icons into PPT slides How to insert excel icons into PPT slides Mar 26, 2024 pm 05:40 PM

1. Open the PPT and turn the page to the page where you need to insert the excel icon. Click the Insert tab. 2. Click [Object]. 3. The following dialog box will pop up. 4. Click [Create from file] and click [Browse]. 5. Select the excel table to be inserted. 6. Click OK and the following page will pop up. 7. Check [Show as icon]. 8. Click OK.

See all articles