sql >> Databasteknik >  >> RDS >> Mysql

Fråga 2 tabeller i en enda fråga

Använd:

SELECT p.id,
       p.title, 
       p.body
  FROM POSTS p
  JOIN CATEGORIES c ON c.postid = p.id
 WHERE c.category = 'politic'

Problemet jag har med din CATEGORIES-tabell är att lagring av kategorivärdet som en sträng innebär att data inte normaliseras - du bör istället ha en CATEGORY-tabell:

KATEGORI

  • category_id (primärnyckel, auto_increment)
  • category_description

...och använd category_id värde i CATEGORIES tabell:

KATEGORIER

  • category_id (primärnyckel, främmande nyckel till CATEGORY.category_id)
  • post_id (primär nyckel, främmande nyckel till POSTS.postid)


  1. Effektiv lagring av tidsseriedata:mySQL eller platta filer? Många tabeller (eller filer) eller frågor med WHERE-villkor?

  2. tidszonsavstämning med SQL

  3. Hur får man ett datum i formatet ÅÅÅÅ-MM-DD från ett TSQL-datumtidfält?

  4. MySQL-användaråtkomst - tabellspecifik