Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Połącz dwie tabele, aby uzyskać całe rekordy

SELECT table1.user_id, table2.* 
FROM table2 
INNER JOIN table2
    ON table2.user name = table1.user_name

Jednak powinieneś uporządkować swoją bazę danych w taki sposób:

table_users:
    user_id
    username
    ...

table_videos:
    video_id
    video_name
    video_genre
    ...

table_rentals
    record_id
    user_id 
    video_id

Wtedy przy takiej strukturze użyjesz następującego zapytania SQL:

SELECT table_users.user_id, table_users.username, table_videos.video_id, table_videos.video_name 
FROM table_videos 
INNER JOIN table_rentals 
     ON table_rentals.video_id = table_videos.video_id
INNER JOIN table_users 
     ON table_rentals.user_id = table_users.user_id 

Jest to bardziej znormalizowane i zmniejsza duplikowanie danych



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd krytyczny PHP:wywołanie niezdefiniowanej funkcji mysqli_stmt_get_result()

  2. Nieprawidłowy plik klucza dla tabeli '/tmp/#sql_18b4_0.MYI' spróbuj go naprawić

  3. Zapytanie MySQL Select do pobrania bazy rekordów na podstawie wartości z listy

  4. Jak przetasować kolumnę w MySql

  5. MySQL - klucz obcy przy usuwaniu wartości null w polu not null