Accordance with the guidelines of the book, use MySQL as DBMS, you need to create before using sentence table
in the website to download the official script running misstatements ASC characters on the MAC, the new file replication solutions
following is uncommented SQL script
Baidu network disk link
password: okgi
Retrieving data
SELECT
Single row
SELECT prod_name
FROM Products;
Multi-row
SELECT prod_id, prod_name, prod_price
FROM Products;
All columns
Tsuhaifu *
SELECT *
FROM Products;
Different search values
If the result have the same value, only once
SELECT DISTINCT vend_id
FROM Products;
Limit your search results
Return result does not exceed X line
SELECT prod_name
FROM Products
LIMIT 5 OFFSET 5;
5 shows a later date from the fifth row
described above can also be written
SELECT prod_name
FROM Products
LIMIT 5,5;
Three kinds of comments
--
,#
,/**/
Sort Your Results
ORDER BY
Sequence
SELECT prod_name
FROM Products
ORDER BY prod_name;
Sort by multiple columns
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price, prod_name;
Sort by Location column
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY 2,3;
Specify the sort direction
ASC
Or DESC
, by default ascending
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price DESC;
Filtering data
WHERE
A single value
SELECT prod_name, prod_price
FROM Products
WHERE prod_price = 3.49;
Mismatch
SELECT prod_name, prod_price
FROM Products
WHERE prod_price <> 'DLLO1';
The range of values
SELECT prod_name, prod_price
FROM Products
WHERE prod_price BETWEEN 5 AND 10;
Null
SELECT cust_name
FROM CuStomers
WHERE cust_email IS NULL;
Advanced data filtering
Combining WHERE
AND
SELECT prod_id, prod_price, prod_name
FROM Products
WHERE vend_id = 'DLL01' AND prod_price <= 4;
OR
SELECT prod_name, prod_price
FROM Products
WHERE vend_id = 'DLL01' OR vend_id = 'BRS01';
AND higher priority than OR, if necessary, to determine the priority brackets
SELECT prod_name, prod_price
FROM Products
WHERE (vend_id = 'DLL01' OR vend_id = 'BRS01')
AND prod_price >= 10;
IN
SELECT prod_name, prod_price
FROM Products
WHERE vend_id IN ( 'DLL01', 'BRS01' )
ORDER BY prod_name;
NOT
SELECT prod_name
FROM Products
WHERE NOT vend_id = 'DLL01'
ORDER BY prod_name DESC;
Tsuhaifu
LIKE
%
Tsuhaifu
Appear to represent any character any number of times, including zero
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE 'Fish%';
_
Tsuhaifu
Matches any single character
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE '__ inch teddy bear';
[]
Tsuhaifu
Specify a character set
in MySQL 8 does not seem to be used with, and use RLIKE REGEXP and brackets with no
suggestion view the manuals section on regular expressions
SELECT cust_contact
FROM Customers
WHERE cust_contact regexp 'J%'
ORDER BY cust_contact;
-- after test, the '[]' is useless