SELECT COUNT(DISTINCT A))
     FROM T1
     WHERE A3 > 0
     HAVING AVG(DISTINCT A4) >1;SELECT EMPNO, FIRSTNME, LASTNAME
     FROM DSN8A10.EMP
     ORDER BY HIREDATE;SELECT *                             
  FROM (SELECT * FROM T1             
         UNION ALL                   
        (SELECT * FROM T2 ORDER BY 1)
       ) AS UTABLE                   
  ORDER BY ORDER OF UTABLE;               SELECT JOB, MAX(SALARY), MIN(SALARY)
     FROM DSN8A10.EMP
     GROUP BY JOB
     HAVING COUNT(*) > 1 AND MAX(SALARY) > 50000;SELECT COUNT(DISTINCT A)) FROM T1 WHERE A3 > 0 HAVING AVG(DISTINCT A4) >1;
SELECT PART, SUPPLIER, PARTS.PROD#, PRODUCT
  FROM PARTS INNER JOIN PRODUCTS
    ON PARTS.PROD# = PRODUCTS.PROD#
    AND SUPPLIER NOT LIKE 'A%';SELECT EMPNO, ACTNO, CHAR(EMSTDATE,USA), CHAR(EMENDATE,USA)
     FROM DSN8A10.EMPPROJACT
     WHERE EMPNO IN (SELECT EMPNO FROM DSN8A10.EMP
                     WHERE WORKDEPT = 'E11');SELECT PART, SUPPLIER, PARTS.PROD#, PRODUCT
  FROM PARTS INNER JOIN PRODUCTS
    ON PARTS.PROD# = PRODUCTS.PROD#;SELECT PART, SUPPLIER, PARTS.PROD#, PRODUCT
  FROM PARTS FULL OUTER JOIN PRODUCTS
    ON PARTS.PROD# = PRODUCTS.PROD#;(SELECT * FROM T1 ORDER BY C1)
UNION
(SELECT * FROM T2 ORDER BY C2);SELECT *                             
  FROM (SELECT * FROM T1             
         UNION ALL                   
        (SELECT * FROM T2 ORDER BY 1)
       ) AS UTABLE                   
  ORDER BY ORDER OF UTABLE;          SELECT WORKDEPT, MAX(SALARY)
     FROM DSN8A10.EMP Q
     GROUP BY WORKDEPT
     HAVING MAX(SALARY) < (SELECT AVG(SALARY)
                             FROM DSN8A10.EMP
                             WHERE NOT WORKDEPT = Q.WORKDEPT);SELECT WORKDEPT, MAX(SALARY)
     FROM DSN8A10.EMP
     GROUP BY WORKDEPT
     HAVING MAX(SALARY) < (SELECT AVG(SALARY)
                             FROM DSN8A10.EMP);SELECT HIREYEAR, AVG(SALARY)
     FROM (SELECT YEAR(HIREDATE) AS HIREYEAR, SALARY
             FROM DSN8A10.EMP) AS NEWEMP
     GROUP BY HIREYEAR;On Apr 19, 2018, at 3:33 PM, Fred Eisele <fredric...@gmail.com> wrote:The question came up about representing various SQL queries.I would like to discuss how the following examples would be implemented in AQL.Each topic should probably be done under separate threads.As they are completed I will put them in https://github.com/CategoricalData/fql/tree/master/resources/examples/aqlExamples drawn from :distinctSELECT COUNT(DISTINCT A)) FROM T1 WHERE A3 > 0 HAVING AVG(DISTINCT A4) >1;
andSELECT * FROM Customers
WHERE Country='Germany' AND City='Berlin’;
orSELECT * FROM Customers
WHERE City='Berlin' OR City='München’;
notSELECT * FROM Customers
WHERE NOT Country = 'Germany’;
order bySELECT EMPNO, FIRSTNME, LASTNAME FROM DSN8A10.EMP ORDER BY HIREDATE;SELECT * FROM (SELECT * FROM T1 UNION ALL (SELECT * FROM T2 ORDER BY 1) ) AS UTABLE ORDER BY ORDER OF UTABLE;
min/maxSELECT JOB, MAX(SALARY), MIN(SALARY) FROM DSN8A10.EMP GROUP BY JOB HAVING COUNT(*) > 1 AND MAX(SALARY) > 50000;count/avg/sumSELECT COUNT(DISTINCT A)) FROM T1 WHERE A3 > 0 HAVING AVG(DISTINCT A4) >1;like/wildcardSELECT PART, SUPPLIER, PARTS.PROD#, PRODUCT FROM PARTS INNER JOIN PRODUCTS ON PARTS.PROD# = PRODUCTS.PROD# AND SUPPLIER NOT LIKE 'A%';inSELECT EMPNO, ACTNO, CHAR(EMSTDATE,USA), CHAR(EMENDATE,USA) FROM DSN8A10.EMPPROJACT WHERE EMPNO IN (SELECT EMPNO FROM DSN8A10.EMP WHERE WORKDEPT = 'E11');
betweeninner joinSELECT PART, SUPPLIER, PARTS.PROD#, PRODUCT FROM PARTS INNER JOIN PRODUCTS ON PARTS.PROD# = PRODUCTS.PROD#;outer join [right and left]SELECT PART, SUPPLIER, PARTS.PROD#, PRODUCT FROM PARTS FULL OUTER JOIN PRODUCTS ON PARTS.PROD# = PRODUCTS.PROD#;self joinSELECT column_name(s)
FROM table1 T1, table1 T2
WHERE condition;
union(SELECT * FROM T1 ORDER BY C1) UNION (SELECT * FROM T2 ORDER BY C2);SELECT * FROM (SELECT * FROM T1 UNION ALL (SELECT * FROM T2 ORDER BY 1) ) AS UTABLE ORDER BY ORDER OF UTABLE;
group bySELECT WORKDEPT, MAX(SALARY) FROM DSN8A10.EMP Q GROUP BY WORKDEPT HAVING MAX(SALARY) < (SELECT AVG(SALARY) FROM DSN8A10.EMP WHERE NOT WORKDEPT = Q.WORKDEPT);havingSELECT WORKDEPT, MAX(SALARY) FROM DSN8A10.EMP GROUP BY WORKDEPT HAVING MAX(SALARY) < (SELECT AVG(SALARY) FROM DSN8A10.EMP);existsSELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);any/allsubselect from [derived table/column]SELECT HIREYEAR, AVG(SALARY) FROM (SELECT YEAR(HIREDATE) AS HIREYEAR, SALARY FROM DSN8A10.EMP) AS NEWEMP GROUP BY HIREYEAR;
--
You received this message because you are subscribed to the Google Groups "categoricaldata" group.
To unsubscribe from this group and stop receiving emails from it, send an email to categoricalda...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.