Created
January 29, 2020 22:52
-
-
Save rodloboz/92f542ae5b535db71de7d42fe6341cd4 to your computer and use it in GitHub Desktop.
SQL queries
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- GIVE ME ALL PATIENT NAMES | |
SELECT first_name, last_name FROM patients; | |
-- GIVE ME ALL FIELDS FROM PATIENTS | |
SELECT * FROM patients; | |
-- GIVE ME ALL DOCTOR NAMES | |
SELECT first_name, last_name FROM doctors; | |
-- GIVE ME ALL ABOUT DOCTORS [] | |
SELECT * FROM doctors; | |
-- GIVE ME ALL PATIENTS OF AGE 21 | |
SELECT * FROM patients WHERE age = 21; | |
-- GIVE ME ALL DOCTORS OF CARDIAC SURGERY SPECIALTY | |
SELECT * FROM doctors WHERE specialty = 'cardiology'; | |
-- GIVE ME ALL SURGERY DOCTORS | |
SELECT * FROM doctors WHERE specialty = '%Surgery'; | |
-- GIVE ME ALL CARDIAC SURGERY DOCTORS NAMED STEVE | |
SELECT * FROM doctors | |
WHERE specialty = 'Cardiac Surgery' | |
AND first_name = 'Steve'; | |
-- GIVE ME ALL PATIENTS ORDERED BY AGE | |
SELECT * FROM patients ORDER BY age ASC -- show younger patients first | |
SELECT * FROM patients ORDER BY age DESC; -- show older patients first | |
-- HOW MANY DOCTORS DO I HAVE? | |
SELECT COUNT(*) FROM doctors; -- returns integer with number of doctors | |
-- COUNT CARDIAC SURGERY DOCTORS | |
SELECT COUNT(*) FROM doctors | |
WHERE specialty = 'Cardiac Surgery'; | |
-- ['cardiac surgery', ..].uniq | |
SELECT specialty FROM doctors; | |
-- COUNT ALL DOCTORS PER SPECIALTY | |
-- Psychology: 2 | |
-- Cardiac Surgery: 3 | |
SELECT COUNT(*), specialty FROM doctors | |
GROUP BY specialty; | |
-- COUNT ALL DOCTORS PER SPECIALTY, ORDER BY SPECIALTY | |
SELECT COUNT(*) AS c, specialty FROM doctors | |
GROUP BY specialty | |
ORDER BY c DESC; -- the highest counts first | |
-- GIVE ME ALL THE INHABITANTS FROM PARIS | |
SELECT * FROM inhabitants | |
JOIN cities ON inhabitants.city_id = cities.id | |
WHERE cities.name = 'Paris'; | |
-- GIVE ME ALL THE ADULTS LIVING IN PARIS | |
SELECT * FROM inhabitants | |
JOIN cities ON cities.id = inhabitants.city_id | |
WHERE cities.name = 'Paris' | |
AND inhabitants.age >= 18; | |
-- FOR EACH CONSULTATION, GIVE ME ITS DATE, PATIENT AND DOCTOR NAMES | |
SELECT c.created_at, p.first_name, p.last_name, d.first_name, d.last_name | |
FROM consultations c | |
JOIN patients p ON c.patient_id = p.id | |
JOIN doctors d ON c.doctor_id = d.id; | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8" ?> | |
<!-- SQL XML created by WWW SQL Designer, https://github.com/ondras/wwwsqldesigner/ --> | |
<!-- Active URL: https://kitt.lewagon.com/db/10 --> | |
<sql> | |
<datatypes db="postgresql"> | |
<group label="Numeric" color="rgb(238,238,170)"> | |
<type label="Integer" length="0" sql="INTEGER" re="INT" quote=""/> | |
<type label="Small Integer" length="0" sql="SMALLINT" quote=""/> | |
<type label="Big Integer" length="0" sql="BIGINT" quote=""/> | |
<type label="Decimal" length="1" sql="DECIMAL" re="numeric" quote=""/> | |
<type label="Serial" length="0" sql="SERIAL" re="SERIAL4" fk="Integer" quote=""/> | |
<type label="Big Serial" length="0" sql="BIGSERIAL" re="SERIAL8" fk="Big Integer" quote=""/> | |
<type label="Real" length="0" sql="BIGINT" quote=""/> | |
<type label="Single precision" length="0" sql="FLOAT" quote=""/> | |
<type label="Double precision" length="0" sql="DOUBLE" re="DOUBLE" quote=""/> | |
</group> | |
<group label="Character" color="rgb(255,200,200)"> | |
<type label="Char" length="1" sql="CHAR" quote="'"/> | |
<type label="Varchar" length="1" sql="VARCHAR" re="CHARACTER VARYING" quote="'"/> | |
<type label="Text" length="0" sql="TEXT" quote="'"/> | |
<type label="Binary" length="1" sql="BYTEA" quote="'"/> | |
<type label="Boolean" length="0" sql="BOOLEAN" quote="'"/> | |
</group> | |
<group label="Date & Time" color="rgb(200,255,200)"> | |
<type label="Date" length="0" sql="DATE" quote="'"/> | |
<type label="Time" length="1" sql="TIME" quote="'"/> | |
<type label="Time w/ TZ" length="0" sql="TIME WITH TIME ZONE" quote="'"/> | |
<type label="Interval" length="1" sql="INTERVAL" quote="'"/> | |
<type label="Timestamp" length="1" sql="TIMESTAMP" quote="'"/> | |
<type label="Timestamp w/ TZ" length="0" sql="TIMESTAMP WITH TIME ZONE" quote="'"/> | |
<type label="Timestamp wo/ TZ" length="0" sql="TIMESTAMP WITHOUT TIME ZONE" quote="'"/> | |
</group> | |
<group label="Miscellaneous" color="rgb(200,200,255)"> | |
<type label="XML" length="1" sql="XML" quote="'"/> | |
<type label="Bit" length="1" sql="BIT" quote="'"/> | |
<type label="Bit Varying" length="1" sql="VARBIT" re="BIT VARYING" quote="'"/> | |
<type label="Inet Host Addr" length="0" sql="INET" quote="'"/> | |
<type label="Inet CIDR Addr" length="0" sql="CIDR" quote="'"/> | |
<type label="Geometry" length="0" sql="GEOMETRY" quote="'"/> | |
</group> | |
</datatypes><table x="157" y="137" name="cities"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="name" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="317" y="133" name="inhabitants"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="first_name" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="last_name" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="age" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="city_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="cities" row="id" /> | |
</row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="231" y="52" name="1:N 1 TO MANY"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="626" y="292" name="patients"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="first_name" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="last_name" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="blood_type" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="age" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="1031" y="298" name="doctors"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="first_name" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="last_name" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<row name="specialty" null="1" autoincrement="0"> | |
<datatype>VARCHAR</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="803" y="128" name="consultations"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<row name="patient_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="patients" row="id" /> | |
</row> | |
<row name="doctor_id" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default><relation table="doctors" row="id" /> | |
</row> | |
<row name="date" null="1" autoincrement="0"> | |
<datatype>DATE</datatype> | |
<default>NULL</default></row> | |
<row name="price" null="1" autoincrement="0"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
<table x="637" y="57" name="N:N MANY TO MANY"> | |
<row name="id" null="1" autoincrement="1"> | |
<datatype>INTEGER</datatype> | |
<default>NULL</default></row> | |
<key type="PRIMARY" name=""> | |
<part>id</part> | |
</key> | |
</table> | |
</sql> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment