példa-különböző Mezőnevek
nem szükséges, hogy az egyes SELECT utasításokban a megfelelő oszlopok azonos névvel rendelkezzenek, de ugyanazoknak a megfelelő adattípusoknak kell lenniük.
Ha nincs azonos oszlopneve a kijelölési utasítások között, akkor kissé trükkös lesz, különösen akkor, ha a lekérdezés eredményeit a rendelési záradék segítségével szeretné megrendelni.
nézzük meg, hogyan kell használni a UNION minden operátor különböző oszlopneveket, és rendelje meg a lekérdezés eredményeit.,
példa:
SELECT supplier_id, supplier_nameFROM suppliersWHERE supplier_id > 2000UNION ALLSELECT company_id, company_nameFROM companiesWHERE company_id > 1000ORDER BY 1;
ebben Az SQL UNIÓ ÖSSZES példa, mivel az oszlop nevek különböznek a kettő között VÁLASSZUK a kimutatások több előnyös referencia az oszlopok az ORDER BY záradék a helyzetben, a meghatározott eredmény. Ebben a példában az eredményeket supplier_id/company_id szerint rendeztük növekvő sorrendben, amint azt a ORDER BY 1
jelöli. A supplier_id / company_id mezők az eredményhalmazban az 1. pozícióban vannak.
most vizsgáljuk meg ezt a példát tovább az adatokkal.,eredmények:
supplier_id | supplier_name |
---|---|
3000 | Alma |
3000 | Alma |
4000 | Samsung |
7000 | Sony |
8000 | IBM |
Először is, vegyük észre, hogy a rekord supplier_id 3000 kétszer jelenik meg az eredményt, állítsa be, mert az UNIÓ MINDEN lekérdezés minden sorban, nem pedig az ismétlődések eltávolítása.,
másodszor, vegye figyelembe, hogy az eredményhalmaz oszlopcímeit supplier_id és supplier_name néven hívják. Ez azért van, mert ezek voltak az oszlopneveket használt az első SELECT nyilatkozatot az Unió minden.
Ha akarta volna, akkor az oszlopokat az alábbiak szerint lehetett volna álnevezni:
SELECT supplier_id AS ID_Value, supplier_name AS Name_ValueFROM suppliersWHERE supplier_id > 2000UNION ALLSELECT company_id AS ID_Value, company_name AS Name_ValueFROM companiesWHERE company_id > 1000ORDER BY 1;
most az eredmény oszlopfejlécei az első oszlop ID_Value-jaként, a második oszlop Name_Value-jaként lesznek nevezve.,
ID_Value | Name_Value |
---|---|
3000 | Apple |
3000 | Apple |
4000 | Samsung |
7000 | Sony |
8000 | IBM |
Leave a Reply