Per extreure informació de la teva base de dades de la LAN Party, utilitzarem la sentència SELECT. Com que ja has vist que aquests comandaments s’han d’executar dins de MariaDB, primer recorda entrar-hi:

1. Consultes de llistat simple

Serveixen per treure dades d’una sola taula sense filtres complexos.

  • Llistar tots els jugadors i el seu correu:
SQL:
SELECT nick, email FROM usuaris;
  • Veure quants tornejos hi ha programats:
SQL:
SELECT COUNT(*) AS total_tornejos FROM tornejos;

2. Consultes amb filtre (WHERE)

Ideals per buscar informació específica.

  • Buscar quins usuaris són administradors:
SQL:
SELECT nick FROM usuaris WHERE rol = 'admin';
  • Veure quins seients estan lliures (on no hi ha cap id_usuari assignat):
SQL:
SELECT id_seient, fila, columna FROM seients WHERE id_usuari IS NULL;

3. Consultes relacionals (JOIN)

Aquestes són les més importants per a la teva tasca, ja que combinen dades de dues o més taules.

  • Saber quin seient té cada usuari (Nom + Seient):
SQL:
SELECT usuaris.nick, seients.id_seient, seients.fila 
FROM usuaris 
JOIN seients ON usuaris.id_usuari = seients.id_usuari;
  • Llistar els participants apuntats al torneig de “League of Legends”:
SQL:
SELECT usuaris.nick 
FROM usuaris
JOIN inscripcions_tornejos ON usuaris.id_usuari = inscripcions_tornejos.id_usuari
JOIN tornejos ON inscripcions_tornejos.id_torneig = tornejos.id_torneig
WHERE tornejos.nom_joc = 'League of Legends';

4. Consultes d’ordenació i agrupació

Per presentar les dades de forma professional.

  • Llistar usuaris per ordre alfabètic:
SQL:
SELECT nick FROM usuaris ORDER BY nick ASC;
  • Saber quants jugadors hi ha apuntats a cada torneig:
SQL:
SELECT tornejos.nom_joc, COUNT(inscripcions_tornejos.id_usuari) AS num_jugadors
FROM tornejos
LEFT JOIN inscripcions_tornejos ON tornejos.id_torneig = inscripcions_tornejos.id_torneig
GROUP BY tornejos.nom_joc;

Com guardar els resultats en un fitxer (Per lliurar la tasca)

Si el professor et demana un fitxer amb els resultats de les consultes, pots fer-ho des de la terminal de Linux (Bash) així:

BASH:
sudo mariadb -u root -p -e "USE lan_party; SELECT nick, email FROM usuaris;" > llista_participants.txt

Això crearà un fitxer anomenat llista_participants.txt amb la informació que hagis demanat.

Assistent d'Ali Hassan

En línia ara mateix

Hola! 👋 Soc l'assistent virtual de l'Ali Hassan. Com et puc ajudar avui?