@@ -594,4 +594,98 @@ FROM actor JOIN casting ON id=actorid
594
594
WHERE movieid IN (
595
595
SELECT movieid FROM casting JOIN actor ON (actorid= id AND name= ' Art Garfunkel' ))
596
596
AND name != ' Art Garfunkel'
597
- GROUP BY name;
597
+ GROUP BY name;
598
+
599
+ -- USING NULL
600
+
601
+ -- 1
602
+
603
+ SELECT name
604
+ FROM teacher
605
+ WHERE dept IS NULL ;
606
+
607
+ -- 2
608
+
609
+ SELECT teacher .name , dept .name
610
+ FROM teacher INNER JOIN dept
611
+ ON (teacher .dept = dept .id );
612
+
613
+ -- 3
614
+
615
+ SELECT teacher .name , dept .name
616
+ FROM teacher LEFT JOIN dept
617
+ ON (teacher .dept = dept .id );
618
+
619
+ -- 4
620
+
621
+ SELECT teacher .name , dept .name
622
+ FROM teacher RIGHT JOIN dept
623
+ ON (teacher .dept = dept .id );
624
+
625
+ -- 5
626
+
627
+ SELECT name,
628
+ COALESCE(mobile, ' 07986 444 2266' )
629
+ FROM teacher;
630
+
631
+ -- 6
632
+
633
+ SELECT COALESCE(teacher .name , ' NONE' ), COALESCE(dept .name , ' None' )
634
+ FROM teacher LEFT JOIN dept ON (teacher .dept = dept .id );
635
+
636
+ -- 7
637
+
638
+ SELECT COUNT (name), COUNT (mobile)
639
+ FROM teacher;
640
+
641
+ -- 8
642
+
643
+ SELECT dept .name , COUNT (teacher .name )
644
+ FROM teacher RIGHT JOIN dept ON (teacher .dept = dept .id )
645
+ GROUP BY dept .name
646
+
647
+ -- 9
648
+
649
+ SELECT teacher .name ,
650
+ CASE WHEN dept .id = 1 THEN ' Sci'
651
+ WHEN dept .id = 2 THEN ' Sci'
652
+ ELSE ' Art' END
653
+ FROM teacher LEFT JOIN dept ON (teacher .dept = dept .id )
654
+
655
+ -- 10
656
+
657
+ SELECT teacher .name ,
658
+ CASE
659
+ WHEN dept .id = 1 THEN ' Sci'
660
+ WHEN dept .id = 2 THEN ' Sci'
661
+ WHEN dept .id = 3 THEN ' Art'
662
+ ELSE ' None' END
663
+ FROM teacher LEFT JOIN dept ON (dept .id = teacher .dept )
664
+
665
+ -- Window Function
666
+
667
+ -- 1
668
+
669
+ SELECT lastName, party, votes
670
+ FROM ge
671
+ WHERE constituency = ' S14000024' AND yr = 2017
672
+ ORDER BY votes DESC ;
673
+
674
+ -- 2
675
+
676
+ SELECT party, votes,
677
+ RANK() OVER (ORDER BY votes DESC ) as posn
678
+ FROM ge
679
+ WHERE constituency = ' S14000024' AND yr = 2017
680
+ ORDER BY party;
681
+
682
+ -- 3
683
+
684
+ SELECT yr,party, votes,
685
+ RANK() OVER (PARTITION BY yr ORDER BY votes DESC ) as posn
686
+ FROM ge
687
+ WHERE constituency = ' S14000021'
688
+ ORDER BY party,yr
689
+
690
+ -- 4
691
+
0 commit comments