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
761 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!

sumber:php.cn
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