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

jak używać sql join w mysql

    select tu.mr_fname, tu.mr_lname, count(ts.mr_id) as `count` 
from tbl_user tu 
inner join tbl_schedule ts on ts.mr_id = tu.mr_id and 
      ts.sch_date between '2012-01-01' and '2012-08-01' 
group by tu.mr_id

Powyższe dostanie wszystkich użytkowników z wierszem w harmonogramie. Dlatego użytkownicy z liczbą 0 nie pojawią się.

select tu.mr_fname, tu.mr_lname, count(ts.mr_id) as `count` 
from tbl_user tu 
left join tbl_schedule ts on ts.mr_id = tu.mr_id and 
      ts.sch_date between '2012-01-01' and '2012-08-01' 
group by tu.mr_id

To zapytanie wybierze imię i nazwisko użytkownika oraz policzy, ile razy identyfikator użytkownika pojawi się w tabeli harmonogramu.

Robi to poprzez grupowanie według identyfikatora użytkownika.

A dodatkowo używa lewego sprzężenia na podstawie identyfikatora użytkownika i daty. Ważne jest, aby umieścić tutaj warunek daty, aby wszyscy użytkownicy zostali wybrani. Dzieje się tak, ponieważ lewe sprzężenie obejmie również wszystkich użytkowników, którzy również nie pasują. Ale jeśli umieścisz to w klauzuli where, wszyscy użytkownicy nie zostaną wybrani. Innymi słowy, nie otrzymasz zera dla 'gerry chandan', jeśli umieścisz warunek daty w klauzuli WHERE. Zamiast tego zostałby pominięty w wynikach.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę stworzyć tabelę w MySQL o nazwie order?

  2. Co to jest LENGTH() w MySQL?

  3. Krótszy, niepowtarzalny kod alfanumeryczny niż UUID w MySQL

  4. Dołączanie danych do pola bazy danych MySQL, które już zawiera dane

  5. MySql PHP wybierz liczbę odrębnych wartości z danych oddzielonych przecinkami (tagi)