Rumah  >  Artikel  >  pangkalan data  >  Perkara utama untuk jadual pengalian dalam pertanyaan SQL (perkongsian ringkasan)

Perkara utama untuk jadual pengalian dalam pertanyaan SQL (perkongsian ringkasan)

WBOY
WBOYke hadapan
2022-09-07 14:15:235528semak imbas

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.

Perkara utama untuk jadual pengalian dalam pertanyaan SQL (perkongsian ringkasan)

Kajian yang disyorkan: "Tutorial SQL"

Anda boleh alias jadual melalui ruang atau sebagai

Tetapi Ambil perhatian bahawa jika pangkalan data operasi ialah Oracle, hanya ruang boleh digunakan, kerana tidak mematuhi sintaks Oracle.

Contohnya

Menggunakan alias dalam pertanyaan mudah

select *
from student s
where s.id = '10';

Menggunakan alias dalam pertanyaan mudah secara amnya tidak memerlukan perhatian khusus dan memerlukan operasi yang kurang

Menggunakan alias dalam pertanyaan kompleks

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!

Kenyataan:
Artikel ini dikembalikan pada:jb51.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam