DAW Desenvolupament d'aplicacions web ( Informàtica )
Exercici de DAW-MP02-UF2 - Llenguatges SQL: DML i DDL

#FpInfor #Daw #Dam #Asix #DawMp02 #DamMp02 #AsixMp02 #DamMp02Uf02 #DawMp02Uf02 #AsixMp02Uf02

(etiquetes - hashtags)
Exercici de selecció, restriccions, funcions d'una sola fila i join.

La Web StackOverflow permet fer consultas sobre la base de dades que hi ha darrera de la web.

Per fer-ho cal anar a data.stackexchange.com i punxar a 'Compose new query'.

A la pantalla, a la dreta apareixeran les taules i camps disponibles i a l'esquerra l'àrea per escriure una consulta.

Cal que consultis:

1) Tots els tipus de Post. Taula postTypes.

2) El títol ( Title) dels 10 primers ( select top 10 ...) posts de tipus 'Question' per ordre cronològic ( CreationDate ).

3) Els anys i mesos que han passat des de les 10 primeres preguntes. Cal concatenar i ha de quedar una única columna: La pregunta "blah blah blah" es va plantejar fa 4 anys i 2 mesos.

select top 10 
  concat(
      'La pregunta "',
      P.title,
      '" es va plantejar fa ',
      datediff( year, CreationDate, getdate() ),
      ' anys ',
      datediff( month, CreationDate, getdate() ) % 12,
      ' mesos ' )
from postTypes T
inner join posts P
   on P.PostTypeId = T.Id
where T.Name = 'Question'
order by CreationDate

4) Els 10 primers comentaris ( comments ) que al seu text comenci per la paraula potato. Cal mostrar el text del comentari i també qui l'ha escrit ( DisplayName de la taula Users). Ull aquesta consulta pot trigar una mica.

select top 10 [Text], u.DisplayName
from comments c
inner join Users u
   on c.UserId = u.id
where [Text] like 'potato%'
order by c.CreationDate

5) Els títols de les preguntes dels tags 'iphone-sdk-documentation', 'large-fonts', 'balloons' ordenat alfabèticament per tag i per títol.

select ta.TagName, p.title 
from       
     postTypes T
inner join 
     posts P
        on P.PostTypeId = T.Id
inner join 
     PostTags pt
        on pt.PostId = P.id
inner join 
     Tags Ta
        on Ta.id = pt.TagId
where T.Name = 'Question'  AND
      Ta.TagName in ('iphone-sdk-documentation', 
                     'large-fonts', 
                     'balloons' )
order by ta.TagName, p.title
Resultats d'aprenentatge:
Continguts:

Editat 14 de desembre de 2016 a les 19:00
per daniel herrera

Pujat el 13 de desembre de 2016 a les 18:36
per daniel herrera

Consulteu nota legal i condicions