#sql #pytanie #pytaniedoeksperta #kiciochpyta #programowanie Mam dwie tabele dajmy na to że nazywają się a i b. Obie wypełniłem liczbami. Chcę wyświetlić selectem wszystkie rekordy które są w tabeli a i nie ma ich w tabeli b. Czyli np jeśli tabela a zawiera liczby od 1 do 100 a tabela b od 90 do 100 to ma mi się wyświetlić tabelka z liczbami z zakresu 1-90. Jak to najłatwiej zrobić? Jestem początkujący w sql a nie udało mi się tego wyguglać.
@radeks11: Jeśli nie ma wspólnej kolumny, a z tego co napisał OP wynika, że nie ma, to nie zrobi się klasycznego joina, chyba że o czymś nie wiem. Jedyne co można zrobić, to jakiegoś cross joina, ale to z kolei zwróci pomieszane wyniki z obydwu tabel.
Co to jest wspólna kolumna? Relacja? Możesz robić joina na dowolnych kolumnach, nie muszą być kluczem ani nawet mieć indexu. Muszą mieć tylko taki sam typ. A nawet jak nie mają takiego samego typu to możesz zrobić cast/convert w funkcji łączącej.
Mam dwie tabele dajmy na to że nazywają się a i b. Obie wypełniłem liczbami. Chcę wyświetlić selectem wszystkie rekordy które są w tabeli a i nie ma ich w tabeli b. Czyli np jeśli tabela a zawiera liczby od 1 do 100 a tabela b od 90 do 100 to ma mi się wyświetlić tabelka z liczbami z zakresu 1-90. Jak to najłatwiej zrobić? Jestem początkujący w sql a nie udało mi się tego wyguglać.
selectinot inINNER JOINźródło: comment_zk8fFR8tKlxuIz6WMApXQSVqvXMfVl3j.jpg
PobierzDlaczego nie może joinować? Przecież sam pokazałeś grafikę gdzie jest odpowiedni join.
Po tych polach, gdzie są wartości. OP nie podał nazw pól, ale zakładam że w jednej i drugiej tabeli dane siedzą w jakimś polu.
Co to jest wspólna kolumna? Relacja? Możesz robić joina na dowolnych kolumnach, nie muszą być kluczem ani nawet mieć indexu. Muszą mieć tylko taki sam typ. A nawet jak nie mają takiego samego typu to możesz zrobić cast/convert w funkcji łączącej.