❤️ Liver explosion for 3 days! 20000 word graphic SQL zero basic entry, not afraid you can't learn, just afraid you don't collect! ❤️

📚 preface

SQL language has a history of more than 40 years. Since it was applied, it has been almost everywhere. Every payment record we consume, every user information we collect and every message we send will be stored in the database or its related products, and the language to manipulate the database is SQL!

SQL is almost a necessary skill for production, R & D and other posts in Internet companies. If you don't know SQL, you may not be able to do anything. You can use SQL as a tool to help you complete your work and create value.


There is a SQL quiz at the end of the article! See how many points you can get?

⭐️ Click I jump to SQL test!

🌴 SQL introduction

🌼 What is SQL

SQL is a standard computer language for accessing and processing databases.

  • SQL refers to structured query language
  • SQL gives us the ability to access the database
  • SQL is an ANSI standard computer language


SQL can work with database programs such as MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase, and other database systems. However, due to the emergence of various databases, there are many different versions of SQL language. In order to be compatible with ANSI standards, they must jointly support some main keywords (such as SELECT, UPDATE, DELETE, INSERT, WHERE, etc.) in a similar way. These are the basis of SQL we want to learn.

🌀 Type of SQL

SQL can be divided into two parts: Data Manipulation Language (DML) and data definition language (DDL).

  • Data query language (DQL)
  • Data Manipulation Language (DML)

🌵 Learn the role of SQL

SQL is an ANSI standard computer language used to access and operate database systems. SQL statements are used to retrieve and update data in the database.

  • SQL database oriented query execution
  • SQL retrieves data from the database
  • SQL inserts new records into the database
  • SQL updates the data in the database
  • SQL deletes records from the database
  • SQL creates a new database
  • SQL creates a new table in the database
  • SQL creates stored procedures in the database
  • SQL creates views in the database
  • SQL can set permissions for tables, stored procedures, and views

🍄 What is a database

As the name suggests, you can understand that a database is a container for storing data.

For example, every family has a refrigerator. What is the refrigerator used for? A refrigerator is a place for storing food.

Similarly, a database is where data is stored. It is precisely because with the database, we can directly find the data. For example, you use yu'e Bao to check your account income every day, which is given to you after reading data from the database.

The most common database type is relational database management system (RDBMS):

RDBMS is the foundation of SQL and all modern database systems, such as MS SQL Server, IBM DB2, Oracle, MySQL and Microsoft Access.

The data in RDBMS is stored in database objects called tables. A table is a collection of related data items. It consists of columns and rows.

Since this article mainly explains the basics of SQL, you don't need to explain the database too much. You just need to know about it. Let's start learning SQL directly!

🐥 SQL basic language learning

Before understanding the use of basic SQL statements, let's talk about what a table is?

A database usually contains one or more tables. Each table is identified by a name (e.g. "customer" or "order"). The table contains records (rows) with data.

The following example is a table named "Persons":

IdLastNameFirstNameAddressCity
1AdamsJohnOxford StreetLondon
2BushGeorgeFifth AvenueNew York
3CarterThomasChangan StreetBeijing

The table above contains three records (one for each person) and five columns (Id, last name, first name, address, and city).

Only tables can be queried, so how to create such a table?

🐤 CREATE TABLE – create a table

The CREATE TABLE statement is used to create tables in a database.

Syntax:

CREATE TABLE Table name
(
Column name 1 data type,
Column name 2 data type,
Column name 3 data type,
....
);

The data_type specifies what data types a column can hold. The following table contains the most commonly used data types in SQL:

data typedescribe
integer(size),int(size),smallint(size),tinyint(size)The maximum number of digits to accommodate only integers and numbers specified in parentheses
decimal(size,d),numeric(size,d)Accommodate numbers with decimals, "size" specifies the maximum number of digits, and "d" specifies the maximum number of digits to the right of the decimal point
char(size)Accommodate a fixed length string (letters, numbers and special characters), and specify the length of the string in parentheses
varchar(size)Accommodate variable length strings (letters, numbers and special characters), and specify the maximum length of the string in parentheses
date(yyyymmdd)Accommodation date

example:

This example demonstrates how to create a table named "Persons".

The table contains five columns. The column names are: "Id_P", "LastName", "FirstName", "Address" and "City":

CREATE TABLE Persons
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

Id_ The data type of column P is int and contains integers. The data type of the remaining four columns is varchar, with a maximum length of 255 characters.


The empty "Persons" table looks like this:

You can use the INSERT INTO statement to write data to an empty table.

🐑 INSERT – INSERT data

The INSERT INTO statement is used to insert a new row into a table.

Syntax:

INSERT INTO Table name VALUES (Value 1, Value 2,....);

We can also specify the columns to insert data:

INSERT INTO table_name (Column 1, Column 2,...) VALUES (Value 1, Value 2,....);

example:

This example demonstrates two ways to insert records in the "Persons" table:

1. Insert new row

INSERT INTO Persons VALUES (1, 'Gates', 'Bill', 'Xuanwumen 10', 'Beijing');

2. Inserts data into the specified column

INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees');


After successful insertion, the data is as follows:

After the data is inserted, it is queried through the SELECT statement. Don't worry about it right away!

🐼 SELECT – query data

The SELECT statement is used to SELECT data from a table, and the results are stored in a result table (called a result set).

Syntax:

SELECT * FROM Table name;

We can also specify the columns of data to query:

SELECT Column name FROM Table name;

📢 Note: SQL statements are case insensitive. select is equivalent to select.

example:

SQL SELECT * instance:

SELECT * FROM Persons;


📢 Note: the asterisk (*) is a shortcut to select all columns.

To get the contents of the columns named "LastName" and "FirstName" (from the database table named "Persons"), use a SELECT statement like this:

SELECT LastName,FirstName FROM Persons;

🐫 DISTINCT – remove duplicate values

If there are multiple rows of duplicate data in a table, how to redisplay it? You can learn about DISTINCT.

Syntax:

SELECT DISTINCT Column name FROM Table name;

example:

If we want to SELECT all the values from the "LASTNAME" column, we need to use the SELECT statement:

SELECT LASTNAME FROM Persons;


It can be found that Wilson was listed many times in the result set.

To select only a unique different value from the "LASTNAME" column, we need to use the SELECT DISTINCT statement:

SELECT DISTINCT LASTNAME FROM Persons;


Through the above query, only one column Wilson is displayed in the result set. Obviously, the duplicate columns have been removed.

🐸 WHERE – conditional filtering

If you need to SELECT the specified data from the table, you can add the WHERE clause to the SELECT statement.

Syntax:

SELECT Column name FROM Table name WHERE Column operator value;

The following operators can be used in the WHERE clause:

Operatordescribe
=be equal to
<>Not equal to
>greater than
<less than
>=Greater than or equal to
<=Less than or equal to
BETWEENWithin a certain range
LIKESearch for a pattern

📢 Note: in some versions of SQL, the operator < > can be written as! =.

example:

If we only want to SELECT people living in the city "Beijing", we need to add a WHERE clause to the SELECT statement:

SELECT * FROM Persons WHERE City='Beijing';


📢 Note: SQL uses single quotation marks around text values (most database systems also accept double quotation marks). If it is a numeric value, do not use quotation marks.

🐹 And & or – operator

AND and OR can combine two OR more conditions in a WHERE sub statement.

  • If both the first AND second conditions are true, the AND operator displays a record.
  • If only one of the first and second conditions holds, the OR operator displays a record.

Syntax:

AND operator instance:

SELECT * FROM Table name WHERE Column operator value AND Column operator value;

OR operator instance:

SELECT * FROM Table name WHERE Column operator value OR Column operator value;

example:

Because there is too little data in the Persons table, several records are added:

INSERT INTO Persons VALUES (2, 'Adams', 'John', 'Oxford Street', 'London');
INSERT INTO Persons VALUES (3, 'Bush', 'George', 'Fifth Avenue', 'New York');
INSERT INTO Persons VALUES (4, 'Carter', 'Thomas', 'Changan Street', 'Beijing');
INSERT INTO Persons VALUES (5, 'Carter', 'William', 'Xuanwumen 10', 'Beijing');
SELECT * FROM Persons;


AND operator instance:

Use AND to display all people whose last name is "Carter" AND whose first name is "Thomas":

SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter';


OR operator instance:

Use OR to display all people whose last name is "Carter" OR whose first name is "Thomas":

SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter';


Combine AND and OR operators:

We can also combine AND and OR (use parentheses to form complex expressions):

SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William') AND LastName='Carter';

🐰 ORDER BY – sort

The ORDER BY statement is used to sort the result set according to the specified column. By default, the records are sorted in ascending order. If you want to sort the records in descending order, you can use the DESC keyword.

Syntax:

SELECT * FROM Table name ORDER BY Column 1,Column 2 DESC;

The default sorting is ASC ascending, and DESC represents descending.

example:

Display LASTNAME names in alphabetical order:

SELECT * FROM Persons ORDER BY LASTNAME;


NULL values (NULL) are sorted after rows with values by default.

Displays the ID in numerical order_ P. And displays LASTNAME names in alphabetical order:

SELECT * FROM Persons ORDER BY ID_P,LASTNAME;


Displays the ID in descending numerical order_ P:

SELECT * FROM Persons ORDER BY ID_P DESC;


📢 Note: when there are the same values in the first column, the second column is arranged in ascending order. This is also the case if some values in the first column are null.

🐱 UPDATE – UPDATE data

The Update statement is used to modify data in a table.

Syntax:

UPDATE Table name SET Column name = New value WHERE Column name = Certain value;

example:

Update a column in a row:

At present, there are many data with null fields in the Persons table. You can add FIRSTNAME to the person whose LASTNAME is "Wilson" through UPDATE:

UPDATE Persons SET FirstName = 'Fred' WHERE LastName = 'Wilson';


Update several columns in a row:

UPDATE Persons SET ID_P = 6,city= 'London' WHERE LastName = 'Wilson';

🐨 DELETE – DELETE data

The DELETE statement is used to DELETE rows in a table.

Syntax:

DELETE FROM Table name WHERE Column name = value;

example:

Delete a row:

Delete the row with LastName "Fred Wilson" in the Persons table:

DELETE FROM Persons WHERE LastName = 'Wilson';


Delete all rows:

You can delete all rows without deleting the table. This means that the structure, attributes and indexes of the table are complete:

DELETE FROM table_name;

🐵 TRUNCATE TABLE – clear table data

If we only need to remove the data in the table, but do not delete the table itself, what should we do?

You can use the TRUNCATE TABLE command (delete only the data in the table):

Syntax:

TRUNCATE TABLE Table name;

example:

This example demonstrates how to delete a table named "Persons".

TRUNCATE TABLE persons;

🐯 DROP TABLE – DROP TABLE

The DROP TABLE statement is used to drop a table (the structure, attributes, and indexes of the table will also be deleted).

Syntax:

DROP TABLE Table name;

example:

This example demonstrates how to delete a table named "Persons".

drop table persons;


As can be seen from the above figure, the table persons is successfully deleted during the first deletion. An error is reported during the second deletion, and the table persons cannot be found, indicating that the table has been deleted.

🚀 SQL advanced language learning

🚢 LIKE – find similar values

The LIKE operator is used to search for the specified pattern in the column in the WHERE clause.

Syntax:

SELECT Listing/(*) FROM Table name WHERE Column name LIKE value;

example:

Insert data into the Persons table:

INSERT INTO Persons VALUES (1, 'Gates', 'Bill', 'Xuanwumen 10', 'Beijing');
INSERT INTO Persons VALUES (2, 'Adams', 'John', 'Oxford Street', 'London');
INSERT INTO Persons VALUES (3, 'Bush', 'George', 'Fifth Avenue', 'New York');
INSERT INTO Persons VALUES (4, 'Carter', 'Thomas', 'Changan Street', 'Beijing');
INSERT INTO Persons VALUES (5, 'Carter', 'William', 'Xuanwumen 10', 'Beijing');
select * from persons;


1. Now, we want to select people living in cities starting with "N" from the "Persons" table above:

SELECT * FROM Persons WHERE City LIKE 'N%';


2. Next, we want to select people living in cities ending with "g" from the "Persons" table:

SELECT * FROM Persons WHERE City LIKE '%g';


3. Next, we want to select people living in cities containing "lon" from the "Persons" table:

SELECT * FROM Persons WHERE City LIKE '%on%';


4. By using the NOT keyword, we can select people living in cities that do NOT contain "lon" from the "Persons" table:

SELECT * FROM Persons WHERE City NOT LIKE '%on%';


📢 Note: "%" can be used to define wildcards (missing letters in the pattern).

🚤 IN – lock multiple values

The IN operator allows us to specify multiple values IN the WHERE clause.

Syntax:

SELECT Listing/(*) FROM Table name WHERE Column name IN (Value 1,Value 2,Value 3);

example:

Now, we want to select people with surnames Adams and Carter from the Persons table:

SELECT * FROM Persons WHERE LastName IN ('Adams','Carter');

⛵ BETWEEN – select interval data

The operator BETWEEN... AND selects a data range BETWEEN two values. These values can be numeric values, text, or dates.

Syntax:

SELECT Listing/(*) FROM Table name WHERE Column name BETWEEN Value 1 AND Value 2;

example:

1. The query displays people between "Adams" (included) and "Carter" (excluded) in alphabetical order:

SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter';


2. To query the results opposite to the above results, you can use NOT:

SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter';


📢 Note: different databases handle the BETWEEN... AND operator differently.

Some databases list people between "Adams" and "Carter", but not "Adams" and "Carter"; Some databases list people between "Adams" and "Carter" and include "Adams" and "Carter"; Other databases list people between "Adams" and "Carter", including "Adams", but not "Carter".

So please check how your database handles the BETWEEN... AND operator!

🚂 AS – alias

By using SQL, you can specify aliases for column names and table names, which make the query program easier to read and write.

Syntax:

Table alias:

SELECT Column name/(*) FROM Table name AS alias;

Column alias:

SELECT Column name as alias FROM Table name;

example:

Use table name alias:

SELECT p.LastName, p.FirstName
FROM Persons p 
WHERE p.LastName='Adams' AND p.FirstName='John';


Use column name alias:

SELECT LastName "Family", FirstName "Name" FROM Persons;


📢 Note: in practical application, this AS can be omitted, but the column alias needs to be added with "".

🚁 JOIN – multi table Association

JOIN is used to query data from two or more tables according to the relationship between the columns in these tables.

Sometimes we need to get results from two or more tables in order to get complete results. We need to execute the join.

Tables in the database can be linked to each other by keys. A Primary Key is a column in which the value of each row is unique. In the table, the value of each Primary Key is unique. The purpose of this is to cross bind the data between tables without repeating all the data in each table.

As shown in the figure, "Id_P" column is the primary key in the Persons table. This means that no two rows can have the same ID_ P. Even if two people have exactly the same name, ID_ P can also distinguish them.

❤️ In order to continue the following experiment, we need to create another table: Orders.

create table orders (id_o number,orderno number,id_p number);
insert into orders values(1,11111,1);
insert into orders values(2,22222,2);
insert into orders values(3,33333,3);
insert into orders values(4,44444,4);
insert into orders values(6,66666,6);
select * from orders;


As shown in the figure, "Id_O" column is the primary key in the Orders table. At the same time, "Id_P" column in the Orders table is used to refer to people in the "Persons" table without using their exact names.

select * from persons p,orders o where p.id_p=o.id_p;


You can see that the "Id_P" column links the above two tables.

Syntax:

select Listing
from surface A
INNER|LEFT|RIGHT|FULL JOIN surface B
ON surface A Primary key column = surface B Foreign key column;

Different SQL joins:

The JOIN types you can use and the differences between them are listed below.

  • JOIN: returns a row if there is at least one match in the table
  • INNER JOIN: an internal join that returns the matching rows in the two tables
  • LEFT JOIN: returns all rows from the left table even if there is no match in the right table
  • RIGHT JOIN: returns all rows from the right table even if there is no match in the left table
  • FULL JOIN: return rows as long as there is a match in one of the tables

example:

If we want to list all orders, we can use the following SELECT statement:

SELECT p.LastName, p.FirstName, o.OrderNo
FROM Persons p
INNER JOIN Orders o
ON p.Id_P = o.Id_P
ORDER BY p.LastName DESC;

🚜 UNION – merge result sets

The UNION operator is used to combine the result sets of two or more SELECT statements.

UNION syntax:

SELECT Listing FROM surface A
UNION
SELECT Listing FROM surface B;

📢 Note: the UNION operator defaults to selecting different values. If the query results need to display duplicate values, use UNION ALL.

UNION ALL syntax:

SELECT Listing FROM surface A
UNION ALL
SELECT Listing FROM surface B;

In addition, the column name in the UNION result set is always equal to the column name in the first SELECT statement in the UNION.

To experiment, create person_ Table B:

CREATE TABLE Persons_b
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
INSERT INTO Persons_b VALUES (1, 'Bill', 'Gates', 'Xuanwumen 10', 'Londo');
INSERT INTO Persons_b VALUES (2, 'John', 'Adams', 'Oxford Street', 'nBeijing');
INSERT INTO Persons_b VALUES (3, 'George', 'Bush', 'Fifth Avenue', 'Beijing');
INSERT INTO Persons_b VALUES (4, 'Thomas', 'Carter', 'Changan Street', 'New York');
INSERT INTO Persons_b VALUES (5, 'William', 'Carter', 'Xuanwumen 10', 'Beijing');
select * from persons_b;


example:

Use the UNION command:

List people and people_ Different people in B:

select * from persons
UNION
select * from persons_b;


📢 Note: the SELECT statement inside the UNION must have the same number of columns. Columns must also have similar data types. At the same time, the order of columns in each SELECT statement must be the same.

🚌 NOT NULL – NOT NULL

The NOT NULL constraint forces columns not to accept null values.

The NOT NULL constraint forces fields to always contain values. This means that you cannot insert a new record or update a record without adding a value to the field.

Syntax:

CREATE TABLE surface
(
column int NOT NULL
);

As above, create a table and set the column value to be non empty.

example:

create table lucifer (id number not null);
insert into lucifer values (NULL);


📢 Note: if a NULL value is inserted, an error ORA-01400 will be reported, indicating that it cannot be inserted!

⭐ ⅸ expand your knowledge: NOT NULL can also be used for query criteria:

select * from persons where FirstName is not null;


Similarly, NULL can also:

select * from persons where FirstName is null;

Interested friends, you can try it yourself!

🚐 VIEW – VIEW

In SQL, a view is a visual table based on the result set of an SQL statement.

The view contains rows and columns, just like a real table. Fields in a view are fields from real tables in one or more databases. We can add SQL functions, WHERE and JOIN statements to the view, and we can submit data, just as these come from a single table.

Syntax:

CREATE VIEW View name AS
SELECT Listing
FROM Table name
WHERE query criteria;

📢 Note: the view always displays the most recent data. Whenever a user queries a view, the database engine rebuilds the data by using SQL statements.

example:

Next, we will filter out the people living in Beijing in the Persons table to create a view:

create view persons_beijing as
select * from persons where city='Beijing';


Query the above view:

If you need to update columns or other information in the view without deleting them, use the CREATE OR REPLACE VIEW option:

CREATE OR REPLACE VIEW View name AS
SELECT Listing
FROM Table name
WHERE query criteria;

example:

Now you need to filter out the records whose LASTNAME is Gates:

create or replace view persons_beijing as
select * from persons where lastname='Gates';



Deleting a view is simple, similar to a table. You can use DROP:

drop view persons_beijing;


❤️ The high-level language to be spoken in this chapter will stop here first. It is not suitable to introduce too many at one time~

🎯 SQL common function learning

SQL has many built-in functions that can be used for counting and calculation.

Usage syntax of function:

SELECT function(column) FROM surface;

❤️ Let's take a look at the commonly used functions!

🍔 AVG – average

The AVG function returns the average value of a numeric column. NULL values are not included in the calculation.

Syntax:

SELECT AVG(Listing) FROM Table name;

example:

Calculate the average value of the "orderno" field.

select avg(orderno) from orders;


Of course, it can also be used in query criteria, such as querying records below the average value:

select * from orders where orderno < (select avg(orderno) from orders);

🍕 COUNT – number of summary rows

The COUNT() function returns the number of rows that match the specified criteria.

Syntax:

There can be different syntax in count():

  • COUNT(*): returns the number of records in the table.
  • COUNT(DISTINCT column name): returns the number of different values for the specified column.
  • Count (column name): returns the number of values for the specified column (NULL is not counted).
SELECT COUNT(*) FROM Table name;
SELECT COUNT(DISTINCT Listing) FROM Table name;
SELECT COUNT(Listing) FROM Table name;

example:

COUNT(*) :

select count(*) from persons;


COUNT(DISTINCT column name):

select count(distinct city) from persons;


Count (column name):

select count(city) from persons;

🍘 MAX – maximum

The MAX function returns the maximum value in a column. NULL values are not included in the calculation.

Syntax:

SELECT MAX(Listing) FROM Table name;

MIN and MAX can also be used for text columns to get the highest or lowest values in alphabetical order.

example:

select max(orderno) from orders;

🍢 MIN – minimum

The MIN function returns the smallest value in a column. NULL values are not included in the calculation.

Syntax:

SELECT MIN(Listing) FROM Table name;

example:

select min(orderno) from orders;

🍰 SUM – SUM

The SUM function returns the total number (total) of numeric columns.

Syntax:

SELECT SUM(Listing) FROM Table name;

example:

select sum(orderno) from orders;

🍪 GROUP BY – GROUP BY

The GROUP BY statement is used to group the result set according to one or more columns in combination with the total function.

Syntax:

SELECT Listing A, Statistical function(Listing B)
FROM Table name
WHERE query criteria
GROUP BY Listing A;

example:

Get the total number of people living in Beijing in the Persons table, grouped according to LASTNAME:

select lastname,count(city) from persons 
where city='Beijing' 
group by lastname;


If GROUP BY is not added, an error will be reported:

That is, the common ORA-00937 is not a single group grouping function error.

🍭 HAVING – sentence ending connection

The reason for adding the HAVING clause in SQL is that the WHERE keyword cannot be used with the aggregate function.

Syntax:

SELECT Listing A, Statistical function(Listing B)
FROM table_name
WHERE query criteria
GROUP BY Listing A
HAVING Statistical function(Listing B) query criteria;

example:

Get LASTNAME in the Persons table where the total number of people living in Beijing is greater than 1, grouped according to LASTNAME:

select lastname,count(city) from persons 
where city='Beijing' 
group by lastname
having count(city) > 1;

🍷 UCASE/UPPER – upper case

The UCASE/UPPER function converts the value of a field to uppercase.

Syntax:

select upper(Listing) from Table name;

example:

Select the contents of the "LastName" and "FirstName" columns, and then convert the "LastName" column to uppercase:

select upper(lastname),firstname from persons;

🍶 LCASE/LOWER – lowercase

The LCASE/LOWER function converts the value of a field to lowercase.

Syntax:

select lower(Listing) from Table name;

example:

Select the contents of the "LastName" and "FirstName" columns, and then convert the "LastName" column to lowercase:

select lower(lastname),firstname from persons;

👛 LEN/LENGTH – get length

The LEN/LENGTH function returns the length of a value in a text field.

Syntax:

select length(Listing) from Table name;

example:

Gets the character length of the LASTNAME value:

select length(lastname),lastname from persons;

🍗 ROUND – numerical trade-offs

The ROUND function rounds a numeric field to the specified number of decimal places.

Syntax:

select round(Listing,accuracy) from Table name;

example:

2 digits reserved:

select round(1.1314,2) from dual;
select round(1.1351,2) from dual;



📢 Note: ROUND is rounded!

Rounding:

select round(1.1351,0) from dual;
select round(1.56,0) from dual;

🍞 NOW/SYSDATE – current time

The NOW/SYSDATE function returns the current date and time.

Syntax:

select sysdate from Table name;

example:

Get current time:

select sysdate from dual;


📢 Note: if you are using a Sql Server database, use the getdate() function to get the current date and time.

🍺 Write at the end

If you have finished all the above, you can take a quiz: SQL test , see how you master it!

❤️ The test will be scored:

The score of each question is 1. After you have completed all 20 questions, the system will score your test and provide the correct answers to the questions you have made mistakes. Where green is the correct answer and red is the wrong answer.

Start the test now! Good luck.

⭐ Write your score in the voting column below. Let me see how everyone's level is? ⭐ ️

This sharing is over~

If I think the article is helpful to you, I like it, collect it, pay attention to it, comment it, and support it with one click. Your support is the biggest motivation for my creation.

❤️ Technology exchange can focus on official account: Lucifer think twice before you act. ❤️

Tags: Database Oracle SQL DBA

Posted on Sat, 20 Nov 2021 06:42:25 -0500 by phpBever