Sie sind auf Seite 1von 4

SELECT * FROM ap.

vendors;
use ap;

-- Order By

select vendor_id, vendor_name, vendor_state


from vendors
where vendor_id NOT in
(select distinct vendor_id from invoices)
order by vendor_id

SELECT * FROM Vendors


ORDER BY vendor_state;

-- Order By DESC

SELECT * FROM Vendors


ORDER BY vendor_state DESC;

SELECT * FROM Vendors


ORDER BY vendor_state ASC, vendor_city DESC;

SELECT *
FROM Vendors
WHERE vendor_address2 IS NULL;

SELECT vendor_phone
FROM Vendors
WHERE vendor_phone IS NOT NULL;

SELECT vendor_name, vendor_state, vendor_city, vendor_phone, default_terms_id


FROM Vendors
WHERE vendor_city = 'Fresno' and default_terms_id in (1, 3)
LIMIT 10;

SELECT MIN(default_account_number)
FROM Vendors
WHERE vendor_city = 'Fresno' and default_terms_id in (2, 3);

SELECT MAX(default_account_number)
FROM Vendors
WHERE vendor_city = 'Fresno' and default_terms_id in (2, 3);

SELECT COUNT(vendor_name)
FROM Vendors
WHERE vendor_city = 'Fresno' and default_terms_id in (1, 2, 3);

SELECT AVG(default_terms_id)
FROM Vendors
WHERE vendor_city = 'Fresno' and default_terms_id in (1, 2, 3);

SELECT SUM(default_terms_id)
FROM Vendors
WHERE vendor_city = 'Fresno' and default_terms_id in (1, 2, 3);

SELECT * FROM Vendors


WHERE vendor_city LIKE 'M%';
SELECT * FROM Vendors
WHERE vendor_city LIKE '%a' or vendor_city LIKE '%n';

SELECT * FROM Vendors


WHERE vendor_city LIKE '%on%';

SELECT * FROM Vendors


WHERE vendor_city LIKE '_a%';

SELECT * FROM Vendors


WHERE vendor_city LIKE 'o__%';

SELECT * FROM Vendors


WHERE vendor_city LIKE 's%s';

SELECT * FROM Vendors


WHERE vendor_city NOT LIKE 'm%';

SELECT * FROM Vendors


WHERE vendor_city LIKE '_r_s_o';

SELECT * FROM Vendors


WHERE vendor_city LIKE '[fw]%'; --does not work

SELECT * FROM Vendors


WHERE vendor_city LIKE '[a-m]%'; -- does not work

SELECT * FROM Vendors


WHERE vendor_city LIKE '[!w]%'; -- not work

SELECT * FROM Vendors


WHERE vendor_city NOT LIKE '[was]%'; -- wrong output

SELECT * FROM Vendors


WHERE vendor_city IN ('Washington', 'Los Angeles', 'Santa Ana');

SELECT * FROM Vendors


WHERE vendor_city NOT IN ('Washington', 'Los Angeles', 'Santa Ana');

SELECT * FROM invoices


WHERE vendor_id IN (SELECT vendor_id FROM Vendors);

SELECT * FROM Vendors


WHERE default_terms_id BETWEEN 1.1 AND 2.9;

SELECT * FROM Vendors


WHERE default_terms_id NOT BETWEEN 1.1 AND 2.9;

SELECT * FROM Vendors


WHERE default_terms_id BETWEEN 1.1 AND 2.9
AND NOT vendor_state IN ('WI', 'MA', 'NC'); -- not working as expected
SELECT * FROM Vendors
WHERE vendor_name BETWEEN 'Crown Printing' AND 'Cal State Termite'
ORDER BY vendor_name; -- not working as expected

SELECT *
FROM Vendors
WHERE contact_id >= 100
AND contact_id <= 200;

SELECT *
FROM order_details
WHERE order_date BETWEEN CAST('2014-02-01' AS DATE) AND CAST('2014-02-28' AS DATE);
-- use of CAST method

-- Use of foreign key


SELECT i.invoice_date, i.payment_total, v.vendor_name
FROM Invoices AS i, Vendors AS v
WHERE v.vendor_name='Blue Cross' AND i.vendor_id=v.vendor_id;

-- INNER JOIN - 2 Tables


SELECT Invoices.invoice_id, Invoices.invoice_total, Invoices.payment_total,
Vendors.vendor_name, Vendors.vendor_address1, Vendors.vendor_city
FROM Invoices
INNER JOIN Vendors ON Invoices.vendor_id=Vendors.vendor_id;

select * from vendor_contacts;

-- INNER JOIN - 3 Tables


SELECT Invoices.invoice_id, Invoices.invoice_total, Invoices.payment_total,
Vendors.vendor_name, Vendors.vendor_address1, Vendors.vendor_city,
vendor_contacts.first_name, vendor_contacts.last_name
FROM ((Invoices
INNER JOIN Vendors ON Invoices.vendor_id=Vendors.vendor_id)
INNER JOIN vendor_contacts ON Vendors.vendor_id = vendor_contacts.vendor_id);

-- LEFT JOIN
SELECT Invoices.invoice_id, Invoices.invoice_total, Invoices.payment_total,
Vendors.vendor_name, Vendors.vendor_address1, Vendors.vendor_city,
vendor_contacts.first_name, vendor_contacts.last_name
FROM ((Invoices
LEFT JOIN Vendors ON Invoices.vendor_id=Vendors.vendor_id)
LEFT JOIN vendor_contacts ON Vendors.vendor_id = vendor_contacts.vendor_id)
ORDER BY Vendors.vendor_name;

-- RIGHT JOIN
SELECT Invoices.invoice_id, Invoices.invoice_total, Invoices.payment_total,
Vendors.vendor_name, Vendors.vendor_address1, Vendors.vendor_city,
vendor_contacts.first_name, vendor_contacts.last_name
FROM ((Invoices
RIGHT JOIN Vendors ON Invoices.vendor_id=Vendors.vendor_id)
RIGHT JOIN vendor_contacts ON Vendors.vendor_id = vendor_contacts.vendor_id)
ORDER BY Vendors.vendor_name;

-- FULL OUTER JOIN - This does not work in MYSQL


SELECT Invoices.invoice_id, Invoices.invoice_total, Invoices.payment_total,
Vendors.vendor_name, Vendors.vendor_address1, Vendors.vendor_city,
vendor_contacts.first_name, vendor_contacts.last_name
FROM ((Invoices
FULL OUTER JOIN Vendors ON Invoices.vendor_id=Vendors.vendor_id)
FULL OUTER JOIN vendor_contacts ON Vendors.vendor_id = vendor_contacts.vendor_id OR
Invoices.vendor_id = vendor_contacts.vendor_id)
ORDER BY Vendors.vendor_name;

-- Alternate Solution to do full outer join in MYSQL


SELECT i.invoice_id, i.invoice_total, i.payment_total, v.vendor_name,
v.vendor_address1, v.vendor_city FROM (Invoices AS i
LEFT JOIN Vendors AS v ON i.vendor_id=v.vendor_id WHERE i.vendor_name NOT NULL)
UNION ALL
SELECT i.invoice_id, i.invoice_total, i.payment_total, v.vendor_name,
v.vendor_address1, v.vendor_city FROM (Invoices AS i
RIGHT JOIN Vendors AS v ON i.vendor_id=v.vendor_id WHERE i.vendor_name NOT NULL AND
i.vendor_id IS NULL);

-- Self Join

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City


FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;

Das könnte Ihnen auch gefallen