Funkcje cenne tabeli to rodzaj funkcji w SQL Server, który zwraca dane jako tabele. Podczas wykonywania połączeń na SQL Server możesz dołączyć do wierszy z dwóch lub więcej tabel bazy danych. Jednak możliwość dołączenia do tabeli z wyjściem funkcji o wartości docelowej nie jest obsługiwana, chyba że używasz operatorów.
SQL Server obsługuje dwóch operatorów aplitu:
Zastosowanie krzyżowe jest ściśle podobne, semantycznie, do wewnętrznego połączenia SQL Server. Oznacza to, że odzyskuje rzędy funkcji o wartości docelowej tabeli, aby dołączyć tylko tam, gdzie są dopasowania między dwiema tabelami.
Zastosowanie zewnętrzne, dołączą do rekordów funkcji cenowanej tabeli i zdefiniowanej tabeli, niezależnie od jakichkolwiek pasujących wierszy.
Aby lepiej zrozumieć, jak korzystać z operatorów aplikacji krzyżowych i zewnętrznych na SQL Server, przyjąć praktyczne podejście.
Zacznij od utworzenia testowej bazy danych:
Utwórz bazę danych ApplyDB;Przełącz do bazy danych Utwórz:
Użyj ApplyDB;Następnie utwórz tabele i wstaw przykładowe dane, jak pokazano:
CreateTableUsersPrzykładowy skrypt zapytania tworzy dwie tabele: użytkownicy i posty. Tabela postów zawiera kolumnę user_id, która zawiera wartości z tabeli użytkowników, umożliwiając relacje jeden do wielu w bazie danych.
SQL SERWER ZASTOSOWANIE
Spróbujmy wewnętrznego połączenia z tabelą cenioną tabelą jako:
createFunction GetPostsbyId (@id int)SQL Server zwróci błąd jako:
Aby to rozwiązać, możemy użyć krzyża Zastosuj jako:
Wybierz u.Nazwa użytkownika, str.Id, s.Post_name, s. 1.pub_datePowyższe zapytanie powinno skutecznie wykonać i zwrócić wynik jako:
SQL SERVER ZASTOSOWANIE
Możemy pobrać rzędy z funkcji fizycznej i docelowej przy użyciu zewnętrznego zastosowania, jak pokazano:
Wybierz u.Nazwa użytkownika, str.Id, s.Post_name, s. 1.pub_datePowstały zestaw zapytania jest taki jak pokazano:
Wniosek
W tym artykule obejmuje sposób pracy z operatorami SQL Server i krzyżowymi, aby dołączyć do tabeli fizycznej i funkcji o wartości docelowej.