Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
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 ".
Selepas itu, anda boleh memberikan sebarang pertanyaan antara kurungan. Ini akan disimpan dalam nama ungkapan yang disediakan yang akan berfungsi sebagai jadual maya.
Kemudian, tambahkan pernyataan SELECT menggunakan jadual maya yang telah anda buat melalui nama Ungkapan yang telah anda tetapkan.
Untuk contoh kami, kami akan menggunakan " USACusts " untuk nama Ungkapan .
Dan untuk pertanyaan, kami akan menggunakan kod ini.
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 .
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 .
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 .
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 .
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 .
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.
Untuk C1 , ia menunjukkan semua data daripada jadual Sales.SalesOrderDetail dengan kuantiti pesanan yang lebih daripada 5 .
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 .
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 .
Sebelum meneruskan, mari kita semak output C3 dengan menambah “ PILIH * DARI C3 ” di bawah C3 .
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 .
Contoh di bawah ialah hasilnya selepas mencipta jumlah agregat dengan menggunakan arahan di atas.
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
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.
Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.
Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.
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.
Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.
Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.
Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.
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