cari
RumahTopikexcelRingkaskan penggunaan 'jadual' dalam pertanyaan Excel SQL

Artikel ini membawa anda pengetahuan yang berkaitan tentang excel, yang terutamanya memperkenalkan penggunaan jadual dalam pertanyaan SQL, termasuk jadual serantau, jadual buku kerja silang, dll. , harap ia membantu semua orang.

Ringkaskan penggunaan 'jadual' dalam pertanyaan Excel SQL

Cadangan pembelajaran berkaitan: tutorial excel

Hari ini kita akan bercakap tentang jadual Excel dalam pernyataan SQL.

1. Jadual kawasan

Terdapat banyak perbezaan antara lembaran kerja Excel dan jadual data pangkalan data Perkara yang paling ketara ialah jadual data pangkalan data boleh difahami sebagai terdiri daripada baris dan lajur Lembaran kerja Excel terdiri daripada sel satu demi satu, dan sel ini mempunyai kaedah ungkapan alamat yang unik, iaitu, A1 atau R1C1 Mereka juga boleh membentuk julat sel dengan data bersambung, seperti A2:H8.

Maka persoalannya ialah, jika kita hanya perlu mengira sebahagian daripada lembaran kerja Excel, bagaimana kita harus menyatakannya dalam SQL?

Masalah seperti ini sangat biasa.

Sebagai contoh, baris tajuk Excel ramai orang tidak berada di baris pertama jadual, tetapi di baris kedua...

Seperti yang ditunjukkan dalam rajah di bawah

Ringkaskan penggunaan jadual dalam pertanyaan Excel SQL

Pada masa ini, kami ingin mengira julat sel lajur A2:F, supaya lebih mudah untuk kami menggunakan nama medan untuk memproses data, berbanding keseluruhan lembaran kerja Excel...

Untuk contoh lain, a Terdapat dua atau lebih "meja" di dalam dan di luar meja... Apakah maksud ayat ini?

Lihat gambar di bawah

Ringkaskan penggunaan jadual dalam pertanyaan Excel SQL

Dalam jadual yang ditunjukkan dalam gambar, terdapat kedua-dua "meja guru" dan "meja pelajar"; hanya mahu SQL merujuk dan mengira data jadual guru A2:D8...

... SQL dalam Excel sebenarnya menyokong penggunaan julat sel lembaran kerja sebagai "jadual".

Untuk masalah yang ditunjukkan dalam gambar di atas, SQL boleh ditulis sebagai:

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

Hasil pertanyaan adalah seperti berikut:

Ringkaskan penggunaan jadual dalam pertanyaan Excel SQL

Dan kes pertama, kita tahu bahawa data bermula dalam sel A2, tetapi kita tidak tahu sel mana dalam lajur F ia berakhir. SQL boleh ditulis sebagai:

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

Selain itu , jika kita memerlukan rujukan SQL untuk mengira data keseluruhan lajur D:G jadual , SQL boleh ditulis sebagai:

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

Untuk meringkaskan cara di atas untuk menyatakan kawasan lembaran kerja Excel, iaitu, nama lembaran kerja, tanda dolar $, alamat sel dalam keadaan rujukan relatif, dan akhirnya dibungkus dalam kurungan segi empat sama .

Hanya ungu.

Petua untuk bahagian ini:

[Jadual pelajar $A2:F], kami mengatakan bahawa pernyataan ini boleh merujuk kepada julat sel dari lajur A2 hingga lajur F di mana data terakhir wujud, tetapi Ini mempunyai prasyarat yang terhad, iaitu, ia bukan keadaan yang bersambung sendiri. Yang dipanggil self-join merujuk kepada buku kerja yang SQL harus digunakan untuk memautkan dirinya sendiri. Dalam keadaan memaut sendiri, ungkapan maksimum A2:F ialah A2:F65536 baris jika baris rujukan yang diperlukan pada masa ini melebihi 65536 baris, sila gunakan mod keseluruhan jadual.

2. Jadual buku kerja silang

Masalah yang terkenal ialah fungsi Excel sangat letih apabila memproses data buku kerja silang, kecuali untuk beberapa fungsi rujukan carian (seperti VLOOKUP dll. ), kebanyakan fungsi perlu membuka buku kerja yang berkaitan sebelum ia boleh dikira dan digunakan.

Ya, fungsi VLOOKUP tidak perlu membuka buku kerja yang berkaitan dan boleh digunakan merentas buku kerja Selain itu, selepas formula VLOOKUP ditulis, walaupun anda memadamkan buku kerja yang dirujuk, ia tidak akan menghalangnya. . Pengiraan, ini kerana ia telah mencache data yang berkaitan dalam buku kerja di mana formula terletak, tetapi mod VLOOKUP tidak menyokong fungsi bersarang yang kompleks... Petik jari anda, jika anda berminat, kami akan berbual secara berasingan satu hari lagi. .

...Ahem, kembali ke SQL~~

...Pernyataan SQL yang kami kongsikan sebelum ini semuanya digunakan untuk memproses jadual buku kerja semasa jika data yang perlu kami proses terletak dalam buku kerja lain, bagaimana untuk menyatakan SQL?

Sebagai contoh, dapatkan semua data "Jadual Gred" dalam "Jadual Pelajar. Jangan biarkan saya mengagumi anda.

Jika kaedah OLE DB (rujuk Bab 1 siri tutorial ini untuk kaedah ini), pernyataan SQL adalah seperti berikut

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

Rentetan jadual yang ditentukan selepas FROM terdiri daripada dua bahagian, yang pertama Di dalam kurungan segi empat sama ialah nama buku kerja penuh dengan akhiran laluan penyimpanan buku kerja yang ditentukan.

Jika anda menggunakan pernyataan SQL melalui VBA ADO...

Amaran di hadapan rak buku: Kasut kanak-kanak dengan asas VBA yang lemah, sila langkau kandungan berikut...

Berbanding dengan kaedah OLE DB, kaedah VBA ADO jauh lebih fleksibel Ia boleh menggunakan ADO untuk terus mencipta dan membuka pautan ke buku kerja yang ditentukan, jadi pernyataan SQL tidak perlu menyatakan nama lengkap buku kerja, dsb. .

Rujukan kod adalah seperti berikut

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

Baris ke-7 kod di atas secara langsung menentukan nama lengkap buku kerja yang perlu disambungkan dan tidak memerlukan pemprosesan khas dalam pernyataan SQL.

但更多的情况是,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

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

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

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

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

相关学习推荐:excel教程

Atas ialah kandungan terperinci Ringkaskan penggunaan 'jadual' dalam pertanyaan Excel SQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:Excel Home. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Formula Median di Excel - Contoh PraktikalFormula Median di Excel - Contoh PraktikalApr 11, 2025 pm 12:08 PM

Tutorial ini menerangkan cara mengira median data berangka dalam Excel menggunakan fungsi median. Median, ukuran utama kecenderungan pusat, mengenal pasti nilai pertengahan dalam dataset, yang menawarkan perwakilan yang lebih mantap dari Tenden Central

COUNTIF SPREWEET COUNTIF Google dengan contoh formulaCOUNTIF SPREWEET COUNTIF Google dengan contoh formulaApr 11, 2025 pm 12:03 PM

Menguasai sheet google countif: panduan komprehensif Panduan ini meneroka fungsi countif serba boleh di Helaian Google, menunjukkan aplikasinya di luar pengiraan sel mudah. Kami akan merangkumi pelbagai senario, dari perlawanan tepat dan separa ke Han

Buku Kerja Dikongsi Excel: Cara berkongsi fail Excel untuk beberapa penggunaBuku Kerja Dikongsi Excel: Cara berkongsi fail Excel untuk beberapa penggunaApr 11, 2025 am 11:58 AM

Tutorial ini menyediakan panduan komprehensif untuk berkongsi buku kerja Excel, meliputi pelbagai kaedah, kawalan akses, dan resolusi konflik. Versi Excel Moden (2010, 2013, 2016, dan kemudian) Memudahkan pengeditan kolaboratif, menghapuskan keperluan untuk m

Cara Menukar Excel ke JPG - Simpan .xls atau .xlsx Sebagai Fail ImejCara Menukar Excel ke JPG - Simpan .xls atau .xlsx Sebagai Fail ImejApr 11, 2025 am 11:31 AM

Tutorial ini meneroka pelbagai kaedah untuk menukar fail .xls ke imej .jpg, merangkumi kedua-dua alat Windows terbina dalam dan penukar dalam talian percuma. Perlu membuat persembahan, berkongsi data spreadsheet dengan selamat, atau merancang dokumen? Menukar yo

Nama Excel dan Rentang Dinamakan: Cara Menentukan dan Menggunakan dalam FormulaNama Excel dan Rentang Dinamakan: Cara Menentukan dan Menggunakan dalam FormulaApr 11, 2025 am 11:13 AM

Tutorial ini menjelaskan fungsi nama -nama Excel dan menunjukkan bagaimana untuk menentukan nama untuk sel, julat, pemalar, atau formula. Ia juga meliputi penyuntingan, penapisan, dan memadam nama yang ditetapkan. Nama Excel, sementara sangat berguna, sering melampaui

Sisihan piawai Excel: Contoh fungsi dan formulaSisihan piawai Excel: Contoh fungsi dan formulaApr 11, 2025 am 11:01 AM

Tutorial ini menjelaskan perbezaan antara sisihan piawai dan kesilapan piawai min, membimbing anda pada fungsi Excel yang optimum untuk pengiraan sisihan piawai. Dalam statistik deskriptif, sisihan min dan piawai adalah intrinsi

Akar persegi dalam excel: fungsi sqrt dan cara lainAkar persegi dalam excel: fungsi sqrt dan cara lainApr 11, 2025 am 10:34 AM

Tutorial Excel ini menunjukkan cara mengira akar persegi dan akar n. Mencari akar persegi adalah operasi matematik yang biasa, dan Excel menawarkan beberapa kaedah. Kaedah untuk mengira akar persegi di Excel: Menggunakan fungsi SQRT: The

Asas Helaian Google: Ketahui cara bekerja dengan hamparan GoogleAsas Helaian Google: Ketahui cara bekerja dengan hamparan GoogleApr 11, 2025 am 10:23 AM

Buka kunci kekuatan lembaran Google: Panduan Pemula Tutorial ini memperkenalkan asas -asas Google Sheets, alternatif yang kuat dan serba boleh kepada MS Excel. Ketahui cara untuk menguruskan spreadsheet dengan mudah, memanfaatkan ciri -ciri utama, dan bekerjasama

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft