Rumah > pangkalan data > tutorial mysql > Mengapa MySQL Memerlukan Alias ​​untuk Jadual Terbitan?

Mengapa MySQL Memerlukan Alias ​​untuk Jadual Terbitan?

DDD
Lepaskan: 2024-12-26 07:44:13
asal
859 orang telah melayarinya

Why Does MySQL Require Aliases for Derived Tables?

Mentafsirkan "Setiap Jadual Terbitan Mesti Mempunyai Alias ​​Sendiri" dalam MySQL

Apabila menghadapi ralat "Setiap jadual terbitan mesti mempunyai alias sendiri" dalam MySQL, adalah penting untuk menyelidiki konsep jadual terbitan. Jadual ini, juga dikenali sebagai sub-pertanyaan, memerlukan alias yang jelas untuk memudahkan rujukan dalam pertanyaan luar.

Menyelidiki Masalah

Mari kita ambil contoh pertanyaan yang menyebabkan ralat:

SELECT ID FROM (
    SELECT ID, msisdn
    FROM (
        SELECT * FROM TT2
    )
);
Salin selepas log masuk

Pertanyaan ini terdiri daripada dua sub-pertanyaan bersarang. Walaupun sub-pertanyaan paling dalam mendapatkan semula data daripada jadual 'TT2', ralat timbul kerana kedua-dua sub-pertanyaan kekurangan alias.

Membuat Penyelesaian

Untuk membetulkan ralat ini, setiap sub- pertanyaan mesti diberikan alias unik. Pertanyaan yang diperbetulkan akan menyerupai:

SELECT ID FROM (
    SELECT ID, msisdn FROM (
        SELECT * FROM TT2
    ) AS T1
) AS T2
Salin selepas log masuk

Di sini, kedua-dua sub-pertanyaan diberikan alias ('T1' dan 'T2'), membenarkan pertanyaan luar merujuk hasil masing-masing.

Memperkemas Pertanyaan

Dalam kes di mana sub-pertanyaan hanya mengekstrak data daripada jadual, keseluruhan binaan boleh dipermudahkan.

SELECT ID FROM TT2
Salin selepas log masuk

Pertanyaan diperkemas ini menghapuskan lapisan sub-pertanyaan sambil masih mencapai hasil yang diingini.

Atas ialah kandungan terperinci Mengapa MySQL Memerlukan Alias ​​untuk Jadual Terbitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan