Mysql
 sql >> база данни >  >> RDS >> Mysql

Изберете редове от таблица, където ред в друга таблица със същия идентификатор има определена стойност в друга колона

Всъщност не бих препоръчал JOIN за това — или по-скоро бих препоръчал "semijoin ", което е концепция за релационна алгебра, която не е пряко изразена в SQL. Полусъединяването е по същество съединение, при което искате да извлечете записи само от една таблица, но при условие, че те имат съответни записи в различна таблица.

В SQL нотацията тази концепция се изразява индиректно, като се използва IN клауза , с подзаявка :

SELECT key, value
  FROM comments
 WHERE key IN
        ( SELECT comment_key
            FROM meta
           WHERE value = 1
        )
;

(MySQL всъщност ще преведе това обратно в полусъединяване вътрешно – по същество нещо като изродено вътрешно свързване – но IN клаузата е естественият начин да се изрази в необработен SQL.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изход между две дати mysql

  2. Динамично преобразуване на низ в име на колона. MySQL

  3. SQL - сумата на някои редове, минус сумата на други редове

  4. 2 начина за връщане на редове, които съдържат само не-буквени знаци в MySQL

  5. Не може да се зареди плъгин за удостоверяване 'caching_sha2_password' в Netbean