Co oznacza ten fragment skryptu?

0
/* składnia SELECT WK FROM T1 == SELECT T1.kol1 [,T1.koln] FROM T1 */
SELECT osoby.* FROM osoby /* klasyka */
SELECT o.* FROM osoby o /* alias */
** WEWNATRZ zapytania nie ma osoby jest o */
SELECT osoby.* FROM osoby o /* od tej poy wewnatz zapytania tylko o */
/*Msg 107, Level 15, State 1, Line 1
The column prefix 'osoby' does not match with a table name or alias name used in the query.*/

SELECT o.ID_OSOBY AS [ID] FROM osoby o 

SELECT o.ID_OSOBY AS [ID]
, CONVERT(varchar(23),LEFT(o.imię,1) + '. ' + LEFT(o.nazwisko,20))
AS [imię i nazwisko]
FROM osoby o
insert into OSOBY (imię, nazwisko, id_miasta) VALUES ('Jan', 'Kowalski',1)

SELECT o.ID_OSOBY AS [ID]
, CONVERT(varchar(23),LEFT(o.imię,1) + '. ' + LEFT(o.nazwisko,20))
AS [imię i nazwisko]
, convert(bit,CASE WHEN o.imię LIKE '%a' THEN 1 ELSE 0 END) AS [czy pani]
FROM osoby o

Dopiero rozpoczynam naukę SQL'a. Nie rozumiem jak działa ten alias na górze, bo w internecie były inaczej konstruowane aliasy "SELECT kolumna as kol FROM tabela as tab". Nie wiem też po co pojawia się dwa razy to "SELECT o.ID_OSOBY AS [ID]" skoro ID nie jest używane w instrukcjach poniżej.

0

Nie za bardzo rozumiem czego nie rozumiesz, nadawanie aliasów w sql jest proste: nazwaobiektu as alias z tym że as nie jest wymagane we wszystkich silnikach.
Jeżeli alias dotyczy tabeli to do kolumn musimy się odwolywac po aliasie.

0

Pominięte jest as, teraz widzisz:

SELECT o.* FROM osoby o /* alias */
--z as
SELECT o.* FROM osoby as o /* alias */
0
SELECT o.ID_OSOBY AS [ID]
, CONVERT(varchar(23),LEFT(o.imię,1) + '. ' + LEFT(o.nazwisko,20))
AS [imię i nazwisko]
FROM osoby o

Ok, dzięki. A w jakim celu nadawany jest alias ID? To tak tylko dla przykładu? Bo nie widzę gdzie to jest potrzebne

0

No to chyba dla przykładu

1 użytkowników online, w tym zalogowanych: 0, gości: 1