7 conceptes SQL que hauríeu de conèixer per a la ciència de dades


Imatge de l’editor

A mesura que el món avança cap a la digitalització, la majoria de les empreses ara es basen en dades. La gran quantitat de dades que recullen s’emmagatzemen en una base de dades. La gestió, anàlisi i processament d’aquestes dades es realitza mitjançant un SGBD (Sistema de Gestió de Bases de Dades). Com a conseqüència d’aquest canvi, la ciència de dades es va presentar com un dels camps més emergents amb innombrables oportunitats laborals. Un científic de dades ha d’extreure les dades de la base de dades i aquí és on entra en joc SQL. Heu d’haver sentit a parlar de les habilitats de ciència de dades més importants per dominar aquest camp i SQL és una d’elles. Ara, la pregunta és: Realment necessito dominar SQL com a bon científic de dades?

La resposta és NO, però es requereix un coneixement essencial d’SQL, ja que s’ha convertit en un estàndard per a molts sistemes de bases de dades. Aquest article pretén esmentar tots els elements clau d’SQL que heu de conèixer i recomanats pels professionals de la ciència de dades.

SQL significa Structured Query Language i té com a objectiu gestionar la base de dades relacional. Primer entenem la necessitat d’SQL a la ciència de dades. Què el fa únic i una de les habilitats més buscades en ciència de dades? A continuació es mostren alguns dels punts que us ajudaran a entendre la seva importància:

  • Ampli ús: Tot i que té aproximadament 40 anys d’antiguitat, s’utilitza per fer consultes a la majoria de sistemes de bases de dades relacionals i s’ha convertit en l’eina estàndard per experimentar amb dades.
  • Simplifica la comprensió de les dades: SQL és molt útil per navegar pel contingut de la base de dades. Et fa entendre les peculiaritats d’una manera eficaç.
  • Fàcil d’aprendre: És el punt de partida perfecte per al principiant amb una sintaxi senzilla semblant a l’anglès i podeu extreure coneixements valuosos amb només unes poques línies de codi.
  • Permet el processament de grans masses de dades: SQL us permet gestionar una gran quantitat de dades de manera organitzada, per la qual cosa és una opció ideal per a aplicacions de ciència de dades.
  • Compatibilitat amb altres llenguatges i aplicacions de programació: Integrar SQL amb llenguatges com Python, C++, R, etc. és molt convenient. També admet intel·ligència empresarial i eines de visualització de dades com Power BI i Tableau, facilitant una mica el procés de desenvolupament.

1) Comprensió de les ordres bàsiques

El coneixement dels comandaments bàsics construeix les bases per a l’aprenentatge al llarg de la vida. En cas contrari, només estaràs memoritzant els fets sense comprendre com encaixen. Algunes de les ordres SQL més utilitzades són les següents:

  • SELECCIONAR I DE: per recuperar els atributs de les dades de la taula esmentada.
  • SELECCIONA DISTINCT: elimina les files duplicades i només mostra els registres únics.
  • ON: filtra el registre i només mostra els que compleixen la condició donada.
  • I, O, NO: no executar la consulta quan la condició no és True. Mentre, AND i OR s’utilitzen per aplicar diverses condicions.
  • DEMANAT PER: ordena les dades en ordre ascendent o descendent
  • AGRUPAR PER: agrupa dades idèntiques.
  • TENIR: Les dades agregades per Group By es poden filtrar més aquí.
  • Funcions agregades: les funcions agregades com COUNT(), MAX(), MIN(), AVG() i SUM() s’utilitzen per realitzar operacions sobre les dades donades.

Posem un exemple per aplicar-los a una taula d’empleats,

ID Nom Departament Salari ($) Gènere
1 Júlia admin 20000 F
2 gessamí admin 15000 F
3 Joan IT 20000 M
4 senyal admin 17000 M

Ara, volem obtenir el sou mitjà de les dones que treballen al Departament d’Administració.

SELECT Department,
       AVG(Salary)
FROM Employees
WHERE Gender="F"
GROUP BY Department
HAVING Department = "Admin";

Sortida:

2) Cas quan

És una declaració molt potent i flexible en SQL que s’utilitza per escriure declaracions condicionals complexes. Ofereix la funcionalitat de les sentències IF.THEN.ELSE. Fem una ullada a la seva sintaxi,

CASE expression

   WHEN value_1 THEN result_1
   WHEN value_2 THEN result_2
   ...
   WHEN value_n THEN result_n

   ELSE result

END

Executa les declaracions en ordre i retorna el valor tan aviat com la condició esdevé True. Si no es compleix cap de les condicions, s’executa el bloc ELSE i si no hi és, es retorna NULL.

Suposem que tenim una base de dades d’estudiants i volem qualificar-los en funció de les seves notes, llavors es pot utilitzar la següent instrucció SQL:

SELECT student_name,
       marks,
       CASE
           WHEN marks >= 85 THEN 'A'
           WHEN marks >= 75
                AND marks < 85 THEN 'B+'
           WHEN marks >= 65
                AND marks < 75 THEN 'B'
           WHEN marks >= 55
                AND marks < 65 THEN 'C'
           WHEN marks >= 45
                AND marks < 55 THEN 'D'
           ELSE 'F'
       END AS grading
FROM Students;

3) Subconsultes

Com a científic de dades, el coneixement de les subconsultes és essencial, ja que necessiten treballar amb diferents taules i el resultat d'una consulta es pot tornar a utilitzar per restringir encara més les dades de la consulta principal. També es coneix com a consulta imbricada o interna. La subconsulta s'ha d'incloure entre parèntesis i s'executa abans de la consulta principal. Si retorna més d'una fila, s'anomena subconsulta multilínia i s'han d'utilitzar operadors multilínia amb ella.

Suposem que la companyia d'assegurances introdueix una nova pòlissa i cancel·la l'assegurança de les persones amb edat superior als 80 anys. Això es pot fer amb l'ajuda de la subconsulta de la següent manera:

DELETE
FROM INSURANCE_CUSTOMERS
WHERE AGE IN
    (SELECT AGE
     FROM INSURANCE_CUSTOMERS
     WHERE AGE > 80 );

La subconsulta interna selecciona tots els clients majors de 80 anys i després es realitza l'operació Suprimeix en aquest grup.

4) Uneix-te

Les unions SQL s'utilitzen per combinar les files de diverses taules en funció de la relació lògica entre elles. A continuació s'enumeren els 4 tipus d'unions SQL:

  • Combinació interna: la unió interna només mostra les files de les dues taules que compleixen la condició donada. Es pot anomenar una intersecció en termes de terminologia conjunta.

    7 conceptes SQL que hauríeu de conèixer per a la ciència de dades
SELECT Student.Name
FROM Student
INNER JOIN Sports ON Student.ID = Sports.ID;

Torna aquells alumnes que s'han matriculat en esports. Nota: el DNI esportiu és el mateix que el DNI de registre de l'estudiant.

  • Uneix-te a l'esquerra: retorna tots els registres de la taula ESQUERRA mentre només es mostren els registres coincidents de la taula dreta.

    7 conceptes SQL que hauríeu de conèixer per a la ciència de dades
SELECT Student.Name
FROM Student
LEFT JOIN Sports ON Student.ID = Sports.ID;
  • Uneix-te a la dreta: És just el contrari del que fa left join.

    7 conceptes SQL que hauríeu de conèixer per a la ciència de dades
SELECT Student.Name
FROM Student
RIGHT JOIN Sports ON Student.ID = Sports.ID;
  • Unió completa: conté totes les files de les dues taules i si no té una entrada corresponent es mostra un valor NULL.

    7 conceptes SQL que hauríeu de conèixer per a la ciència de dades
SELECT Student.Name
FROM Student
FULL JOIN Sports ON Student.ID = Sports.ID;

5) Procediments emmagatzemats

Els procediments emmagatzemats ens permeten emmagatzemar diverses sentències SQL a la nostra base de dades per utilitzar-les més endavant. Permet la reutilització i també pot acceptar els valors dels paràmetres quan es truca. Millora el rendiment i és més fàcil fer-hi qualsevol modificació.

CREATE PROCEDURE SelectStudents @Major nvarchar(30),
                                       @Grade char(1) AS
SELECT *
FROM Students
WHERE Major = @Major
  AND Grade = @Grade GO;

EXEC SelectStudents @Major="Data Science",
                    @Grade="A";

Aquest procediment ens permet extreure els alumnes de diferents graus en funció de les seves notes. Per exemple, estem intentant extreure tots els estudiants de grau en Data Science que tinguin una nota A. Tingueu en compte que CREATE PROCEDURE és com la declaració de la funció i s'ha de cridar amb EXEC per a l'execució.

6) Format de cadena

Tots sabem que les dades en brut s'han de netejar per augmentar la productivitat general, donant lloc a una presa de decisions de qualitat. El format de les cadenes juga un paper important en aquest context i implica manipular les cadenes per eliminar coses irrellevants. SQL ofereix una àmplia gamma de funcions de cadena per transformar i treballar amb cadenes. Els 5 més utilitzats entre ells són els següents:

  • CONCAT: s'utilitza per afegir dues o més cordes juntes.
SELECT CONCAT(Name, ' has a major of  ', Major)
FROM Students
WHERE student_Id = 37;
  • SUBSTR: retorna la part de la cadena i pren la posició inicial i la longitud de la subcadena que es retornarà als seus paràmetres.
SELECT student_name,admission_date,
     SUBSTR(admission_date, 4, 2) AS day
FROM Students

La columna del dia apareixerà per separat que s'extreu de admission_date.

  • TRIM: la tasca principal de retallar és eliminar els caràcters del principi de les cadenes, el final de les cadenes o ambdues si s'especifica. Heu d'especificar l'inici, el final o tots dos i, a continuació, el caràcter que voleu eliminar i la cadena que voleu eliminar.
SELECT age,
   TRIM(trailing ' years' FROM age)
FROM Students

Canviarà "26 anys" per "26".

  • INSERT: ens permet inserir la cadena dins de la cadena donada a la posició especificada. Heu d'esmentar la posició i la longitud de la nova subcadena que voleu escriure. Tingueu en compte que aquesta nova cadena sobreescriurà el text anterior.
SELECT INSERT("OldWebsite.com", 1, 9, "NewWebsite"); 

S'actualitzarà a NewWebsite.com.

  • COALESCE: es pot utilitzar per substituir els valors nuls per valors definits per l'usuari que sovint es requereixen en ciència de dades.
SELECT COALESCE (NULL, NULL, 10, 'John’')

Això tornarà 10.

7) Funcions de la finestra

Les funcions de finestra són similars a les funcions agregades, però no fa que les files es redueixin en una sola fila després del càlcul. En canvi, les files conserven les seves identitats separades. S'agrupen en tres categories principals:

  • Funcions agregades: mostra els valors agregats de les columnes numèriques com AVG(), COUNT(), MAX(), MIN(), SUM(), etc.
SELECT name,
       AVG(salary) over (PARTITION BY department) 
FROM Employees;

Mostra el salari mitjà de diferents departaments de la taula d'empleats.

  • Funcions de valor: a cada partició se li assignen uns valors mitjançant les funcions de la finestra de valors. Algunes de les funcions de valors més utilitzades són LAG(),LEAD(), FIRST_VALUE(), LAST_VALUR() i NTH_VALUE().
SELECT 
	 bank_branch, month, income,
	LAG(income,1) OVER (
		PARTITION BY bank_branch
		ORDER BY month
	) income_next_month
FROM Bank;

Comparem els ingressos de diferents oficines del banc del mes en curs amb l'anterior.

  • Funcions de classificació: són útils per assignar un rànquing a les files en funció d'algun ordre predefinit. ROW_NUMBER(), RANK(), DENSE_RANK(),PERCENT_RANK(),NTILE() són els pocs a esmentar.
SELECT
	product_name, price,
	RANK () OVER ( 
		ORDER BY list DESC
	) price_hightolow
FROM Products;

Els productes es classifiquen en funció dels seus preus mitjançant RANK().

Espero que us hagi agradat llegir l'article i us ofereixi una comprensió completa de la quantitat d'SQL que necessiteu saber com a científic de dades. Aquí teniu alguns recursos per ajudar-vos si voleu aprofundir en aquests conceptes:

SQLServertutorial

TutorialsPoint

W3Schools

Kanwal Mehreen és un aspirant a desenvolupador de programari amb un gran interès en la ciència de dades i les aplicacions de la IA a la medicina. Kanwal va ser seleccionat com a Google Generation Scholar 2022 per a la regió APAC. A Kanwal li encanta compartir coneixements tècnics escrivint articles sobre temes de tendència i li apassiona millorar la representació de les dones a la indústria tecnològica.

Leave a Comment

Your email address will not be published. Required fields are marked *