Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Dalam blog ini, kita akan membincangkan beberapa ungkapan jadual biasa, juga dikenali sebagai CTE . Jika anda menghadapi masalah yang rumit, menggunakan ungkapan jadual SQL ini boleh membantu anda.

Dengan CTE , anda boleh memecahkan sebarang tugas kepada pertanyaan kecil dan terurus untuk menyelesaikan masalah rumit.

Sekarang mari kita terokai cara CTE boleh menjadikan kerja anda lebih cekap dalam kod penyelesaian masalah.

Isi kandungan

Sintaks Untuk Mencipta Ungkapan Jadual SQL Biasa 

Mula-mula, anda perlu menaip " DENGAN " diikuti dengan nama Ungkapan CTE anda , diikuti dengan " AS ".

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Selepas itu, anda boleh memberikan sebarang pertanyaan antara kurungan. Ini akan disimpan dalam nama ungkapan yang disediakan yang akan berfungsi sebagai jadual maya.

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Kemudian, tambahkan pernyataan SELECT menggunakan jadual maya yang telah anda buat melalui nama Ungkapan yang telah anda tetapkan.

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Untuk contoh kami, kami akan menggunakan " USACusts " untuk nama Ungkapan .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Dan untuk pertanyaan, kami akan menggunakan kod ini. 

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Pertanyaan ini akan mencipta jadual maya. Ia akan menunjukkan jumlah atau jumlah agregat yang dihimpunkan mengikut ID pelanggan di mana negara mereka berada ialah " USA ." Data akan diekstrak daripada jadual Sales.Customers .

Dua lajur akan kelihatan, iaitu custid dan Agg_Amount . Ambil perhatian bahawa jadual USACusts bukanlah jadual fizikal tetapi hanya jadual maya. Ini bermakna ia tidak akan kelihatan dalam pangkalan data kami.

Selepas pertanyaan, kami kemudian boleh menambah pernyataan SELECT .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Penyata ini akan memilih semua Agg_Amount yang lebih besar daripada 1000 daripada jadual USACusts .

Berbilang Ungkapan Jadual SQL Biasa 

Berbilang CTE boleh membantu anda menyelesaikan ralat kompleks dalam kod anda dengan memecahkannya kepada bahagian yang lebih kecil. Selain itu, anda boleh menentukan seberapa banyak CTE yang anda mahukan. Di bawah ialah contoh berbilang CTE .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Untuk contoh ini, kami mempunyai CTE pertama iaitu C1 . Dari situ, kami memilih YEAR(tarikh pesanan) dan mencipta 2 lajur yang merupakan tahun pesanan dan custid daripada jadual Jualan.Pesanan .

Untuk CTE kedua bernama C2 , kami memilih tahun pesanan dan mengumpulkan bilangan custid menggunakan perintah COUNT . Kemudian kami menamakannya sebagai numcusts daripada C1 . Keadaan WHERE juga telah ditambahkan dalam C2 untuk memilih hanya tahun pesanan yang lebih besar daripada 2015 . Kemudian kami mengumpulkan mereka mengikut tahun pesanan .

Selepas itu, kami memilih tahun pesanan dan numcusts daripada C2 . Kemudian kami menambah syarat WHERE untuk memilih hanya bilangan pelanggan yang melebihi 500 .

Kesimpulannya, kod ini digunakan untuk memilih pelanggan yang tahun pesanannya lebih besar daripada 2015 dan memilih hanya bilangan pelanggan yang melebihi 500 berdasarkan keadaan tahun pesanan .

Menggunakan Berbilang CTE Untuk Menyelesaikan Kod Kompleks

Seterusnya, saya akan menunjukkan lebih banyak contoh untuk lebih menekankan penggunaan CTE dalam menyelesaikan masalah set data yang besar. Berikut ialah satu lagi contoh berbilang CTE .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Sila ambil perhatian bahawa anda boleh menamakan CTE mengikut cara yang anda mahukan tetapi untuk blog ini, kami menggunakan C1 , C2 , C3 dan seterusnya untuk mengenal pasti dan memahami dengan mudah cara kami menggunakannya dalam contoh kami.

Berbalik kepada contoh, kami mencipta C1 untuk memilih hanya jualan yang kuantiti pesanannya lebih besar daripada 5 daripada jadual Sales.SalesOrderDetails .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Kemudian dalam C2 , kami menggunakan data yang kami simpan dalam C1 untuk menyertai produk berdasarkan Product.ID dan mengumpulkannya mengikut nama produk (p.Name) dan warna produk (p.Color) .

Memandangkan kami mengisytiharkan syarat dalam C1 , kami hanya akan mengumpulkan nama produk dan warna produk dalam C2 untuk pesanan yang kuantiti pesanan (OrderQty) lebih besar daripada 5 .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Selepas itu, kami akan menggunakan arahan untuk memilih semua data daripada C2 dengan kuantiti pesanan yang lebih besar daripada 1000 .

Untuk tujuan penyelesaian masalah, anda hanya boleh memilih setiap CTE yang telah anda buat untuk menyemak sama ada ia menunjukkan data yang betul. Rujuk contoh di bawah.

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Untuk C1 , ia menunjukkan semua data daripada jadual Sales.SalesOrderDetail dengan kuantiti pesanan yang lebih daripada 5 .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Kemudian C2 menunjukkan output kuantiti pesanan yang dikumpulkan mengikut nama produk dan warna daripada C1 . Dalam C2 , kita boleh melihat lajur orderqty tetapi kita sebenarnya tidak mempunyainya dalam C2 kerana ia hanya lajur terkira yang kami hasilkan daripada C1 . Dari sini, kita boleh mula menggunakan sebarang syarat pada lajur orderqty dan melakukan penyelesaian masalah.

Jadi, kini anda boleh melihat bagaimana berbilang CTE boleh membantu kami dalam menyelesaikan ralat dalam kod kompleks dengan menyimpannya dalam CTE dan mula menyelesaikan masalah tanpa merosakkan kod sebenar.

Menggunakan CTE Dengan Pernyataan Kes

Mari kita dapatkan contoh lain dengan konteks yang sama untuk menunjukkan cara kita boleh menggunakan berbilang CTE dalam menyelesaikan masalah kod kompleks. 

Dalam kes ini, kami akan menggunakan pernyataan CASE yang akan mencipta lajur Kategori Produk dengan hasil yang berdasarkan jumlah agregat orderqty daripada C2 .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Seperti yang dinyatakan sebelum ini, kami tidak mempunyai orderqty dalam CTE pertama serta Kategori Produk tetapi kami menggunakan jadual perantaraan untuk mengira dan melakukan pengiraan yang berbeza.

Dalam contoh seterusnya, kami akan membuat jumlah agregat berdasarkan Kategori Produk yang telah kami buat dalam contoh sebelumnya. Tetapi untuk melakukan ini, kami akan meletakkan pernyataan CASE untuk Kategori Produk dalam CTE ketiga iaitu C3 .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Sebelum meneruskan, mari kita semak output C3 dengan menambah “ PILIH * DARI C3 ” di bawah C3 .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Dalam C3 kita boleh melihat lajur ProductName , Color , orderqty , dan Product Category . Dari sini, kita boleh mula mengagregat berdasarkan Kategori Produk . Mari lakukan ini dengan menggunakan arahan berikut di bawah C3 .

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Contoh di bawah ialah hasilnya selepas mencipta jumlah agregat dengan menggunakan arahan di atas.

Ungkapan Jadual SQL Biasa Untuk Pengguna LuckyTemplates

Pada mulanya, kami tidak mempunyai Kategori Produk dan lajur orderqty tetapi kami dapat menjana output sampel berdasarkan lajur ini dengan menggunakan berbilang CTE .

Pada ketika ini, anda dapat melihat bahawa kami boleh melakukan apa sahaja dengan bantuan CTE dalam bekerja dengan kod kami dengan lebih cekap.

Jadual SQL Temp Dan Paparan Untuk Penapis Pengguna LuckyTemplates
Dalam SQL Menggunakan IN, BUKAN IN, SUKA, Dan TIDAK SUKA
Pengekstrakan Data SQL Menggunakan OFFSET Dan FETCH

Kesimpulan

Dalam tutorial ini, anda telah mempelajari sintaks yang betul dalam mencipta Ungkapan Jadual SQL Biasa dan cara menggunakan berbilang CTE dalam menyelesaikan masalah kod kompleks dengan mengasingkan bahagian kecil data dan menyimpannya di dalam CTE tertentu .

Dengan mempelajari ini, anda kini mempunyai keupayaan untuk menyahpepijat kod anda dengan lebih cekap. Ingat bahawa anda boleh menggunakan sebarang nama untuk CTE dan anda tidak boleh menggunakan atau memanggil mana-mana CTE melainkan ia dicipta. Sebaik sahaja anda membiasakan diri dengan CTE , anda boleh menganggap diri anda sebagai pengguna perantaraan SQL .

Jika anda ingin mengetahui lebih lanjut tentang topik ini dan kandungan lain yang berkaitan, anda pasti boleh menyemak senarai pautan yang berkaitan di bawah.

Semua yang terbaik,

Hafiz


Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.

Pelaporan Perniagaan Menggunakan LuckyTemplates

Pelaporan Perniagaan Menggunakan LuckyTemplates

Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu