Rumah > Artikel > pangkalan data > Perkara utama untuk jadual pengalian dalam pertanyaan SQL (perkongsian ringkasan)
Artikel ini membawakan anda pengetahuan yang berkaitan tentang pelayan SQL Dengan menggunakan SQL, anda boleh menentukan alias untuk nama jadual atau nama lajur Perkara berikut memperkenalkan perkara utama bagi jadual alias dengan pertanyaan SQL ( Maklumat berkaitan yang melibatkan pertanyaan bersarang), saya harap ia akan membantu semua orang.
Kajian yang disyorkan: "Tutorial SQL"
Tetapi Ambil perhatian bahawa jika pangkalan data operasi ialah Oracle, hanya ruang boleh digunakan, kerana tidak mematuhi sintaks Oracle.
Contohnya
select * from student s where s.id = '10';
Menggunakan alias dalam pertanyaan mudah secara amnya tidak memerlukan perhatian khusus dan memerlukan operasi yang kurang
Ringkasan soalan: Terdapat tiga jadual, pelajar (sno, sname, ssex, hari jadi, kelas)
skor (sno, cno, degree)
course(cno,cname,tno)
Soal rekod semua pelajar yang mengambil kursus elektif "3-105" dan gred mereka lebih tinggi daripada "109".
Jawapan:
select * from (select s.sno,s.sname,s.ssex,s.sbirthday,s.class, sc.degree,c.cno,c.cname,c.tno from student s , course c ,score sc where s.sno = sc.sno and c.cno = sc.cno) ss where ss.cno = '3-105' and ss.degree >( select degree from score where sno = '109' and cno = '3-105');
Seperti yang anda lihat, untuk memudahkan operasi, kami telah mentakrifkan semula jadual ss Jadual ini adalah jadual besar yang turut mengandungi kandungan tiga di atas meja . Tetapi sila beri perhatian kepada perkara berikut, jika tidak, mudah untuk membuat kesilapan
Apabila anda ingin memaparkan semua nilai jadual yang baru ditakrifkan, anda tidak boleh menggunakan *
secara langsung. Sebagai contoh, jika anda menukar jawapan yang diisytiharkan kepada
select * from (select * from student s , course c ,score sc where s.sno = sc.sno and c.cno = sc.cno) ss where ss.cno = '3-105' and ss.degree >( select degree from score where sno = '109' and cno = '3-105');
Baris arahan akan menunjukkan bahawa lajur tidak ditakrifkan dengan jelas, kerana kami ingin menentukan lajur sekarang sebagai jadual baharu, tetapi nama lajur beberapa lajur diduakan, dan kita perlu menentukan salah satu daripadanya.
Jadual yang baru dibuat tidak boleh digunakan dalam pernyataan pertanyaan bersarang, kerana kod dalam pertanyaan bersarang ialah bahagian pelaksanaan yang lengkap dan akan dijalankan dari awal? Bagaimanapun, ralat akan dilaporkan apabila memanggilnya
select * from (select * from student s , course c ,score sc where s.sno = sc.sno and c.cno = sc.cno) ss where ss.cno = '3-105' and ss.degree >( select degree from ss where sno = '109' and cno = '3-105');
Subkueri di mana dalam SQL ini menggunakan jadual baharu ss, dan kompilasi akan menunjukkan bahawa tiada ralat dalam jadual atau paparan.
Kajian yang disyorkan: "Tutorial SQL"
Atas ialah kandungan terperinci Perkara utama untuk jadual pengalian dalam pertanyaan SQL (perkongsian ringkasan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!