The general order of library calls for a TCP client is as follows:
socket()
connect()
send() and/or recv()
close()
The general order of library calls for a TCP server is as follows:
socket()
bind()
listen()
accept()
send() and/or recv()
close()
Frequently used UNIX commands
| Command | Result | |||
| ls | lists files in current working directory | |||
| ls *.out | lists all files in current directory that end in .out | |||
| ls -l | lists files giving details including file size | |||
| pwd | displays full-path name of your current working directory on screen (stands for “present working directory”) | |||
| cd dirname | changes directory to dirname | |||
| cd .. | changes directory to one above the current directory | |||
| cd | with no argument, takes you to your home directory | |||
| mkdir dirname | creates new directory dirname | |||
| rmdir dirname | removes empty directory dirname | |||
| cp filename newname | makes a copy of filename with the name newname | |||
| cp ../filename . | copies filename in directory one tier above to current directory giving it the same name | |||
| mv filename newname | renames filename to newname (mv stands for “move”) | |||
| cat filename | displays contents of filename on screen | |||
| more filename | displays filename contents one screen at a time (Enter key scrolls through file by line; space bar scrolls through by screen) | |||
| head filename | displays first 10 lines of filename on screen | |||
| tail filename | displays last 10 lines of filename on screen | |||
| rm filename | deletes filename without double check (rm stands for “remove”) | |||
| grep string filename | displays lines from filename containing string on screen | |||
| ./ filename & | runs job filename in the background | |||
| qsub filename | sends job filename to queue (where qsub is a submission script file in your bin directory) | |||
| qstat | lists jobs running on queue | |||
| qstat -a | lists only your jobs | |||
| qdel job# | deletes job with number job# from queue | |||
| ps | lists processes you have running | |||
| ps -ef | lists all processes | |||
| kill pid# | kills process with ID number pid# | |||
| kill -9 pid# | kills (with the “sure kill” signal) process with ID number pid# | |||
| kill -kill 0 | kills all processes you have running and logs you off | |||
| man commandname | displays manual page for command commandname | |||
| man -k keyword | lists manual pages for commands related to keyword | |||
| lp filename | prints filename on printer in room 4241 | |||
| chmod ### filename | changes “read, write, execute” mode of filename Example: to set the privileges for filename so that the owner has the ability to read, overwrite and execute the file, the group has the ability to read and execute the file, and everyone else has no access to the file, use the command chmod 750 filename. | |||
| owner | group | all | ||
| rwx | rwx | rwx | ||
| 4 2 1 | 4 2 1 | 4 2 1 | ||
| sum numbers for each of the three categories of user | ||||
| Ctrl+c | kills current operation | |||
| Ctrl+h | delete (always works even when delete key doesn’t) | |||
| Ctrl+d | logout |
Frequently used Vi Editor commands
| Command | Result | |
| vi filename | opens file (vi with no argument opens new file) | |
| Two modes in vi editor: insert and command (default is command mode when file is opened) | ||
| i | change to insert mode - in this mode you can add text | |
| Esc | return to command mode | |
| in command mode → | ||
| :q | quit file | |
| :q! | quit file without saving any changes | |
| :w | save file (write) | |
| :wq | save and quit file (write and quit) | |
| x | delete character | |
| /string | search forward for string (n key finds next) | |
| ?string | search backwards for string (n key finds previous) | |
| :g/string/s//string2/g | substitute string with string2 globally | |
| :line# | jump to line# in file | |
| :$ | jump to last line of file | |
| :.,$d | delete from current line to end of file | |
| :.,.+20d | delete from current line through next 20 |
RDBMS stands for Relational Database Management System.
RDBMS is the basis for SQL, and for all modern database systems like 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 collections of related data entries and it consists of columns and rows.
SQL can be divided into two parts: The Data Manipulation Language (DML) and the Data Definition Language (DDL).
The query and update commands form the DML part of SQL:
The DDL part of SQL permits database tables to be created or deleted. It also define indexes (keys), specify links between tables, and impose constraints between tables. The most important DDL statements in SQL are:
The SELECT statement is probably the most commonly used in SQL. It simply retrieves data from the database.
Lets have a look at a simple SELECT statement:
SELECT * FROM Individual
This SQL SELECT statement is attempting to retrieve all columns from a table called individuals.
How do we know it is trying to select all columns? Because it is using an asterisk (*). This is a quick way of selecting all columns - it's much easier than writing out the names of all columns (especially if there are a lot of columns).
Of course, this SQL SELECT statement assumes that there is a table called individuals. If there wasn't, an error would be generated.
Lets have a look at the table the statement is trying to select data from:
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 4 | Ozzy | Ozzbourne | sabbath |
| 5 | Homer | Gain | noplacelike |
Because our select statement asks to display all columns and all records, we would see the following:
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 4 | Ozzy | Ozzbourne | sabbath |
| 5 | Homer | Gain | noplacelike |
You can select from more than one table at a time. To do this, simply separate each table with a comma. You should also qualify any references to columns by placing the table name in front, separated by a dot.
We have another table called "Occupation", which contains the individual's occupation.
| OccupationId | IndividualId | JobTitle |
| 1 | 1 | Engineer |
| 2 | 2 | Accountant |
| 3 | 3 | Cleaner |
| 4 | 4 | Attorney |
| 5 | 5 | Sales Executive |
We will select from both the "Individual" table and the "Occupation" table. We will qualify any column names by prefixing them with its table's name and a dot.
SELECT * FROM Individual, Occupation
WHERE Individual.FirstName = 'Homer'
| IndividualId | FirstName | LastName | UserName | OccupationId | IndividualId | JobTitle |
| 1 | Fred | Flinstone | freddo | 1 | 1 | Engineer |
| 2 | Homer | Simpson | homey | 2 | 2 | Accountant |
| 3 | Homer | Brown | notsofamous | 3 | 3 | Cleaner |
| 4 | Ozzy | Ozzbourne | sabbath | 4 | 4 | Attorney |
| 5 | Homer | Gain | noplacelike | 5 | 5 | Sales Executive |
If you don't need every column to be displayed you can single out just the columns you're interested in. It's good programming practice to do this - the more columns your program has to return, the more it will impact its performance.
To only display those columns you're interested in, simply replace the asterisk (*) with a comma separated list of the column names.
| IndividualId | LastName | UserName |
| 2 | Simpson | homey |
| 3 | Brown | notsofamous |
| 5 | Gain | noplacelike |
the previous lesson, we used a SQL SELECT statement to retrieve all records from a database table. This is fine if we want to see every record, but what if we were only interested in some records? For example, what if we were only interested in individuals whose first name is "Homer"?
We could use the WHERE clause.
Using the WHERE clause, you can filter out only those records that satisfy a given condition.
SELECT * FROM Individual
WHERE FirstName = 'Homer'
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 4 | Ozzy | Ozzbourne | sabbath |
| 5 | Homer | Gain | noplacelike |
Given there are 3 people with the first name of "Homer", the results will look like this:
| IndividualId | FirstName | LastName | UserName |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 5 | Homer | Gain | noplacelike |
You can filter records based on more than one condition using operators. Two common operators are the AND and OR operators.
The AND operator filters the query to only those records that satisfy both the first condition and the second condition.
SELECT * FROM Individual
WHERE FirstName = 'Homer'
AND LastName = 'Brown'
| IndividualId | FirstName | LastName | UserName |
| 3 | Homer | Brown | notsofamous |
The OR operator filters the query to only those records that satisfy either one or the other condition.
SELECT * FROM Individual
WHERE FirstName = 'Homer'
OR LastName = 'Ozzbourne'
| IndividualId | FirstName | LastName | UserName |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 5 | Homer | Gain | noplacelike |
| 4 | Ozzy | Ozzbourne | sabbath |
Using a SQL SELECT statement can retreive many hundreds or even thousands of records. In some cases you might find it useful to sort the records by a given column. For example, when selecting records from the Individual table, you might like to sort them by the LastName column.
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 4 | Ozzy | Ozzbourne | sabbath |
| 5 | Homer | Gain | noplacelike |
| IndividualId | FirstName | LastName | UserName |
| 3 | Homer | Brown | notsofamous |
| 1 | Fred | Flinstone | freddo |
| 5 | Homer | Gain | noplacelike |
| 4 | Ozzy | Ozzbourne | sabbath |
| 2 | Homer | Simpson | homey |
By default, ORDER BY sorts the column in ascending order - that is, from lowest values to highest values. You could also explicitly state this using the ASC keyword, but it's not necessary.
If you want highest values to appear first, you can use the DESC keyword.
SELECT * FROM Individual
ORDER BY LastName DESC
| IndividualId | FirstName | LastName | UserName |
| 2 | Homer | Simpson | homey |
| 4 | Ozzy | Ozzbourne | sabbath |
| 5 | Homer | Gain | noplacelike |
| 1 | Fred | Flinstone | freddo |
| 3 | Homer | Brown | notsofamous |
You can sort by multiple columns by stating each column in the ORDER BY clause, separating each column name with a comma. SQL will first order the results by the first column, then the second, and so on for as many columns that are included in the ORDER BY clause.
SELECT * FROM Individual
ORDER BY FirstName, LastName
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 3 | Homer | Brown | notsofamous |
| 5 | Homer | Gain | noplacelike |
| 2 | Homer | Simpson | homey |
| 4 | Ozzy | Ozzbourne | sabbath |
n the preceeding lessons on the SELECT statement, the examples have returned all records that have matched our SELECT criteria. This is great if you want to look at every record, but, what if you only want to look at the first few records?
Sounds like you need the SQL TOP clause.
The TOP clause allows us to specify how many rows to return. This can be useful on very large tables when there are thousands of records. Returning thousands of records can impact on performance, and if you are working with a production database, this could have an adverse impact on the users.
Note: The SQL TOP clause is Transact-SQL, and not part of ANSI SQL. Therefore, depending on your database system, you may not be able to use this clause.
SELECT TOP 3 * FROM Individual
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 4 | Ozzy | Ozzbourne | sabbath |
| 5 | Homer | Gain | noplacelike |
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
You have the option of specifying a percentage of the result set instead of an absolute value. You do this with the PERCENT keyword.
SELECT TOP 40 PERCENT * FROM Individual
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
If you are using the TOP clause along with the ORDER BY clause, the TOP clause is applied to the ordered result set.
Therefore, if we add an ORDER BY to the above query, we end up with something like this:
SELECT TOP 40 PERCENT * FROM Individual
ORDER BY LastName DESC
| IndividualId | FirstName | LastName | UserName |
| 2 | Homer | Simpson | homey |
| 4 | Ozzy | Ozzbourne | sabbath |
Once a table starts getting a lot of data in it, some columns will contain duplicate values. For example, many Individuals share first names and surnames. Most of the time this isn't a problem. But sometimes you will want to find out how many unique values there are in a table. To do this you can use the DISTINCT keyword.
SELECT DISTINCT(FirstName) FROM Individual
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 4 | Ozzy | Ozzbourne | sabbath |
| 5 | Homer | Gain | noplacelike |
Using the DISTINCT keyword, all customers with a name of "Homer" are counted as one.
| FirstName |
| Fred |
| Homer |
| Ozzy |
The SQL IN operator assists you in providing multiple values in your WHERE clause. This can provide very useful when you need to compare your value to a list of values. Often this list could be the result of a query from another table.
| Id | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 4 | Ozzy | Ozzbourne | sabbath |
| 5 | Homer | Gain | noplacelike |
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 4 | Ozzy | Ozzbourne | sabbath |
You might have noticed that this returns the same result as the following SQL statement:
Yes, we could just have easily used that statement but the SQL IN statement is more concise.
Now, where the SQL IN operator becomes really useful is when you need to compare a value against the result of another query.
For example, lets say we have another table called "Publisher". This table contains users who are allowed to contribute to the website via an administration console. All users in the Publisher table are also in the Individual table, but not all users in the Individual table are in the Publisher table.
Individual Table
| IndividualId | FirstName | LastName | UserName |
| 1 | Fred | Flinstone | freddo |
| 2 | Homer | Simpson | homey |
| 3 | Homer | Brown | notsofamous |
| 4 | Ozzy | Ozzbourne | sabbath |
| 5 | Homer | Gain | noplacelike |
Publisher Table
| IndividualId | AccessLevel |
| 1 | Administrator |
| 2 | Contributor |
| 3 | Contributor |
| 4 | Contributor |
Our task is to return a list of usernames from all publishers who have an access level of "Contributor".
You may notice that the usernames are in the Individual table but the access level is stored in the Publisher table. Also, there could potentially be many contributors. This is a good candidate for the SQL IN operator!
| UserName |
| homey |
| notsofamous |
| sabbath |
In this example there aren't many records in the Publisher table, but imagine if there were thousands - the IN statement is great for this sort of thing.
The LIKE operator is used to search for a specified pattern in a column.
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
The "Persons" table:
| P_Id | LastName | FirstName | Address | City |
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Now we want to select the persons living in a city that starts with "s" from the table above.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE City LIKE 's%'
The "%" sign can be used to define wildcards (missing letters in the pattern) both before and after the pattern.
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Next, we want to select the persons living in a city that ends with an "s" from the "Persons" table.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE City LIKE '%s'
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
Next, we want to select the persons living in a city that contains the pattern "tav" from the "Persons" table.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE City LIKE '%tav%'
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
It is also possible to select the persons living in a city that NOT contains the pattern "tav" from the "Persons" table, by using the NOT keyword.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE City NOT LIKE '%tav%
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
SQL Wildcards
SQL wildcards can substitute for one or more characters when searching for data in a database.
SQL wildcards must be used with the SQL LIKE operator.
With SQL, the following wildcards can be used:
| Wildcard | Description |
| % | A substitute for zero or more characters |
| _ | A substitute for exactly one character |
| [charlist] | Any single character in charlist |
| [^charlist] or [!charlist] | Any single character not in charlist |
SQL Wildcard Examples
We have the following "Persons" table:
| P_Id | LastName | FirstName | Address | City |
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Using the % Wildcard
Now we want to select the persons living in a city that starts with "sa" from the "Persons" table.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE City LIKE 'sa%'
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
Next, we want to select the persons living in a city that contains the pattern "nes" from the "Persons" table.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE City LIKE '%nes%'
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
Using the _ Wildcard
Now we want to select the persons with a first name that starts with any character, followed by "la" from the "Persons" table.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE FirstName LIKE '_la'
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
Next, we want to select the persons with a last name that starts with "S", followed by any character, followed by "end", followed by any character, followed by "on" from the "Persons" table.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE LastName LIKE 'S_end_on'
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
Using the [charlist] Wildcard
Now we want to select the persons with a last name that starts with "b" or "s" or "p" from the "Persons" table.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE LastName LIKE '[bsp]%'
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Next, we want to select the persons with a last name that do not start with "b" or "s" or "p" from the "Persons" table.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE LastName LIKE '[!bsp]%'
The result-set will look like this:
| P_Id | LastName | FirstName | Address | City |
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
The BETWEEN operator selects a range of data between two values. The values can be numbers, text, or dates.
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2 |
The "Persons" table:
P_Id | LastName | FirstName | Address | City |
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
Now we want to select the persons with a last name alphabetically between "Hansen" and "Pettersen" from the table above.
We use the following SELECT statement:
SELECT * FROM Persons
WHERE LastName
BETWEEN 'Hansen' AND 'Pettersen'
The result-set will look like this:
P_Id | LastName | FirstName | Address | City |
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
Note: The BETWEEN operator is treated differently in different databases.
In some databases, persons with the LastName of "Hansen" or "Pettersen" will not be listed, because the BETWEEN operator only selects fields that are between and excluding the test values).
In other databases, persons with the LastName of "Hansen" or "Pettersen" will be listed, because the BETWEEN operator selects fields that are between and including the test values).
And in other databases, persons with the LastName of "Hansen" will be listed, but "Pettersen" will not be listed (like the example above), because the BETWEEN operator selects fields between the test values, including the first test value and excluding the last test value.
Therefore: Check how your database treats the BETWEEN operator.
To display the persons outside the range in the previous example, use NOT BETWEEN:
SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Hansen' AND 'Pettersen'
The result-set will look like this:
P_Id | LastName | FirstName | Address | City |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
An alias is a name that you give a table. This can make it easier to work with table names - especially when they are long. You could name the alias anything, but usually you'd make it short.
You may be thinking "a table already has a name, why give it another one?". Well, there are some good reasons for creating an alias. The main reasons are:
As mentioned, an alias could be anything. For example, if you have a table called Individual you could give it an alias of i. Another table called IndividualProductPurchase could have an alias of, say, ipp
As discussed in the previous lesson, you should use the SQL INNER JOIN when you only want to return records where there is at least one row in both tables that match the join condition.
Left Table
Id | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
Right Table
IndividualId | AccessLevel |
1 | Administrator |
2 | Contributor |
3 | Contributor |
4 | Contributor |
10 | Administrator |
IndividualId | FirstName | LastName | UserName | IndividualId | AccessLevel |
2 | Homer | Simpson | homey | 2 | Contributor |
This lesson covers both the left outer join, the right outer join, and the full outer join, and explains the differences between them. There are some occasions where you would need to use a left outer join or a right outer join, and others where you would need a full outer join. The join type you use will depend on the situation and what data you need to return.
Use this when you only want to return rows that have matching data in the left table, even if there's no matching rows in the right table.
Left Table
Id | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
Right Table
IndividualId | AccessLevel |
1 | Administrator |
2 | Contributor |
3 | Contributor |
4 | Contributor |
10 | Administrator |
IndividualId | FirstName | LastName | UserName | IndividualId | AccessLevel |
1 | Fred | Flinstone | freddo | 1 | Administrator |
2 | Homer | Simpson | homey | 2 | Contributor |
3 | Homer | Brown | notsofamous | 3 | Contributor |
4 | Ozzy | Osbourne | sabbath | 4 | Contributor |
5 | Homer | Gain | noplacelike | NULL | NULL |
Use this when you only want to return rows that have matching data in the right table, even if there's no matching rows in the left table.
Left Table
Id | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
Right Table
IndividualId | AccessLevel |
1 | Administrator |
2 | Contributor |
3 | Contributor |
4 | Contributor |
10 | Administrator |
IndividualId | FirstName | LastName | UserName | IndividualId | AccessLevel |
1 | Fred | Flinstone | freddo | 1 | Administrator |
2 | Homer | Simpson | homey | 2 | Contributor |
3 | Homer | Brown | notsofamous | 3 | Contributor |
4 | Ozzy | Osbourne | sabbath | 4 | Contributor |
NULL | NULL | NULL | NULL | 10 | Administrator |
Use this when you want to all rows, even if there's no matching rows in the right table.
Left Table
Id | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
Right Table
IndividualId | AccessLevel |
1 | Administrator |
2 | Contributor |
3 | Contributor |
4 | Contributor |
10 | Administrator |
IndividualId | FirstName | LastName | UserName | IndividualId | AccessLevel |
1 | Fred | Flinstone | freddo | 1 | Administrator |
2 | Homer | Simpson | homey | 2 | Contributor |
3 | Homer | Brown | notsofamous | 3 | Contributor |
4 | Ozzy | Osbourne | sabbath | 4 | Contributor |
5 | Homer | Gain | noplacelike | NULL | NULL |
NULL | NULL | NULL | NULL | 10 | Administrator |
Up until now, this tutorial has covered the SELECT statement and variations on it. We are now about to learn a new statement - the INSERT statement.
The SQL INSERT command allows you to insert a record into a table in your database. As with the SELECT syntax, the INSERT syntax is quite straight forward.
IndividualId | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
Now if we do a SELECT on the Individual table, we can see the new record added to the bottom of the result set.
IndividualId | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
6 | Benny | Hill | hillbenny |
See - nothing to it!
Now, it's important to note that the INSERT statement is used only when you want to add a new record to the table. If you want to update an existing record, use an UPDATE statement. The UPDATE command is described in the next lesson.
The SQL UPDATE statement allows you to update an existing record in the database.
The UPDATE command uses a WHERE clause. If you don't use a WHERE clause, all rows will be updated. In fact, the syntax for a basic UPDATE statement is very similar to a SELECT statement.
IndividualId | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
6 | Benny | Hill | funnyman |
Now if we select this record, we can see the updated value.
IndividualId | FirstName | LastName | UserName |
6 | Benny | Hill | funnyman |
To update multiple fields, separate each field assignment with a comma.
IndividualId | FirstName | LastName | UserName |
6 | Onetree | Hill | getserious |
Next lesson covers the DELETE statement.
The SQL DELETE statement allows you to delete a record from the database.
The DELETE command uses a WHERE clause. If you don't use a WHERE clause, all rows in the table will be deleted. Again, as with the UPDATE statement, the syntax for a basic DELETE statement is similar to a SELECT statement.
IndividualId | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
6 | Benny | Hill | funnyman |
Now if we select all records from the table, we see that record 6 has been deleted.
IndividualId | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
A commonly used aggregate function in SQL is COUNT. COUNT returns the number of rows that match the given criteria.
If we only want to see how many records are in a table (but not actually view those records), we could use COUNT(*). COUNT(*) returns everything - including null values and duplicates.
IndividualId | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
6 | Bono | u2 |
6 |
If we want to see how many non-null values are in a given column, we use COUNT(column name) where column name is the name of the column we want to test.
Id | FirstName | LastName | UserName |
1 | Fred | Flinstone | freddo |
2 | Homer | Simpson | homey |
3 | Homer | Brown | notsofamous |
4 | Ozzy | Ozzbourne | sabbath |
5 | Homer | Gain | noplacelike |
6 | Bono | u2 |
5 |
If we only want to see how many unique names are in the table, we could nest the DISTINCT inside a COUNT function.
4 |
SQL aggregate functions return a single value, calculated from values in a column.
Useful aggregate functions:
SQL scalar functions return a single value, based on the input value.
Useful scalar functions:
1. Senior Programmer / Technical Lead
Should have 5-8 years of industry experience including 2+ years in rich Internet applications
and database-driven applications and LMS-based projects.
Should possess a sound knowledge of AICC/SCORM implementation with Flash, and have an
excellent knowledge of Action Script 3.0 or 2.0.
Should possess a strong command over OOPs concepts.
Should also have an excellent command over Action Script 2.0 and 3.0 (preferably with three
years experience in this field).
Experience in relative technologies such as ASP/JSP and Macromedia technologies such as
communication server, flex, Director, Flash remoting and cold fusion will be an added
advantage.
Responsibilities:
Will be responsible to develop, troubleshoot, and test data players for AICC/SCORM-compliant
eLearning projects.
Will program interactivities and games for eLearning projects.
Will also mentor and lead junior visual programmers.
2. Senior Instructional Designer/ Lead ID
Should possess excellent reviewing skills, and have a minimum of 5 years of experience in a
corporation, educational institute, publication house, or journalism.
Prior e-Learning experience will be preferred.
Should also have sound knowledge of Instructional Design theories and practices.
Responsibilities :
Will manage a team of Instructional Writers and be responsible for deliverables within project
schedules.
Should have designed instructional and visual strategies for technical content, and should also
have done design and development reviews.
Exposure to technical content creation for Fortune 500 companies will be an added advantage.
GettingStarted.pdf
13.56 MB
oreilly_learning_perl.pdf
4.53 MB
perl-quick-reference-card.pdf
180.48 KB
perl.pdf
327.96 KB
pickingUpPerl.pdf
354.86 KB
UserGuide.pdf
10.40 MB
Total file size: 29.33 MB
Communication Protocol Engineering.rar
5.14 MB
Demystifying the IPsec Puzzle.pdf
1.11 MB
Essential SNMP.chm
1.35 MB
Expert Network Time Protocol.pdf
1.16 MB
Host Identity Protocol (HIP).pdf
2.59 MB
HTTP Pocket Reference.chm
158.50 KB
HTTP The Definitive Guide.chm
3.68 MB
Illustrated TCPIP.pdf
6.14 MB
Internet Core Protocols.chm
11.20 MB
Internet networking with TCP IP VOL3 ClientServer Programming.pdf
8.13 MB
Internet networking with TCP IP VOL3 ClientServer.pdf
7.80 MB
Internet networking with TCPIP Vol1.pdf
36.97 MB
Internet Protocols Handbook.pdf
2.05 MB
Internet Standards.pdf
1.03 MB
IP Multicasting.chm
294.75 KB
IP OVER WDM OPTICAL.pdf
5.69 MB
IP over WDM.pdf
7.57 MB
IP Security.chm
1.57 MB
IPv6 in Practice.pdf
2.06 MB
IPv6 Network Administration.chm
817.31 KB
Jabber DEVELOPER’S HANDBOOK.pdf
3.41 MB
LDAP Directories Explained An Introduction.chm
2.00 MB
Microsoft Windows 2000 TCPIP Protocols and Services.pdf
3.19 MB
OReilly.IPv6.Essentials.2nd.Edition.May.2006.chm
4.44 MB
Orelleys Essential SNMP.zip
2.66 MB
PACKET FORWARDING TECHNOLOGIES.pdf
14.59 MB
Practical BGP.chm
6.91 MB
Practical TCPIP -Designing and troubleshooting.pdf
5.23 MB
Practical TCPIP and Ethernet Networking.pdf
8.38 MB
Principles of Protocol Design.pdf
3.58 MB
Protocol Management in Computer Networking.pdf
1.72 MB
RealLove.mp4
2.43 MB
RFC-all.tar.gz
121.13 MB
RTP Audio and Video for the Internet.chm
2.88 MB
Sams Teach Yourself TCPIP in 24 Hours, Third Edition.chm
3.62 MB
SESSION INITIATION PROTOCOL Controlling Convergent Networks.pdf
2.35 MB
SIP Demystified.pdf
5.23 MB
SIP HANDBOOK.pdf
7.34 MB
SMTP, X.400 and X.500.chm
2.57 MB
SSH, the Secure Shell.pdf
9.74 MB
Synchronizing Internet Protocol Security (SIPSec).pdf
6.77 MB
TCP IP Architecture implementation with IPV6 and IP Security.chm
6.01 MB
TCP IP First Step.chm
7.32 MB
TCP IP Foundatations.pdf
6.81 MB
TCPIP Analysis and Troubleshooting Toolkit.pdf
11.13 MB
TCPIP Analysis and Troubleshooting.pdf
2.54 MB
TCPIP ARCHITECTURE, DESIGN,AND IMPLEMENTATION IN LINUX.pdf
99.99 MB
TCPIP Embedded Internet Applications.pdf
2.77 MB
TCPIP Essentials a Lab Based Approach.pdf
1.13 MB
TCPIP Illustrated, Volume 1 The Protocols.chm
8.27 MB
TCPIP Illustrated, Volume 1 The Protocols.chm.pdf
43.62 MB
TCPIP Illustrated, Volume 2 The Implementation.chm
27.30 MB
TCPIP Illustrated, Volume 2 The Implementation.chm.pdf
137.69 MB
TCPIP JumpStart-Internet Protocol Basics,.pdf
3.21 MB
TCPIP Lean Web Servers for Embedded Systems.pdf
11.24 MB
TCPIP Network Administration, 3rd Edition.chm
1.74 MB
TCPIP Professional Reference Guide.pdf
6.77 MB
TCPIP Sockets in C.pdf
6.36 MB
TCPIP U N L E A S H E D.pdf
12.98 MB
TCPIP With Windows NT Illustrated.rar
5.67 MB
Teach Yourself TCPIP in 14 Days.pdf
2.24 MB
The TCP IP Guide.pdf
27.55 MB
Understanding and Deploying LDAP Directory Services, Second Edition.chm
5.34 MB
Understanding IPV6.chm
1.16 MB
UNDERSTANDING IPv6.pdf
12.22 MB
Understanding TCPIP.pdf
12.70 MB
Windows.Server.2008.TCP.IP.Protocols.and.Services.pdf
20.17 MB
Total file size: 810.59 MB
3D.Videocomm Algorithms concepts and RTS.pdf
9.76 MB
3G.Evolution.HSPA.and.LTE.for.Mobile.Broadband.pdf
5.76 MB
Advanced Wireless Communications 4G Technologies.pdf
24.46 MB
Advanced.Digital.Signal.Processing.and.Noise.Reduction.3rd.Edition.pdf
8.60 MB
Advanced.Wireless.Networks.4G.Technologies.pdf
20.93 MB
Advances in mobile and communications.pdf
11.23 MB
ADVANCES IN MODELING AND SIMULATION TOOLS FOR COMMUNICATION NETWORKS.pdf
6.36 MB
Advances in nolinear and signals.pdf
18.79 MB
Beyond 3G – Bringing Networks, Terminals and the Web Together.pdf
7.36 MB
Broadband Local Loops for High-Speed Internet Access.pdf
3.86 MB
Broadband PowerlineCommunicationsNetworks.pdf
3.25 MB
Broadband Telecommunications Handbook Vol2.pdf
20.25 MB
Broadband Telecommunications Handbook.pdf
46.05 MB
Broadband Wireless Communications Business.pdf
6.76 MB
Broadband.Mobile.Multimedia.Techniques.and.Applications.pdf
10.34 MB
BUSINESS INTELLIGENCE FOR TELECOMMUNICATIONS.pdf
5.19 MB
CAMEL INTELLIGENT NETWORKS for GSM GPRS.pdf
3.01 MB
CDMA Systems Capacity Engineering.pdf
4.03 MB
CELLULAR AUTHENTICATION.PDF
2.31 MB
Channel Coding.pdf
3.96 MB
Charging Communication Networks.pdf
3.85 MB
Charging for Mobile All-IP Telecommunications.pdf
6.37 MB
Code Division Multiple Access(CDMA).pdf
2.51 MB
Cognitive Radio Technology.pdf
7.35 MB
Communication Systems Simulation with Wireless Applications.pdf
7.81 MB
COMMUNICATION NETWORKS AND COMPUTER SYSTEMS.pdf
11.66 MB
Communication Systems.pdf
12.75 MB
Communication.Systems.for.the.Mobile.Information.Society.pdf
3.75 MB
Communications the Handbook.pdf
132.84 MB
Computablity and unsolvablity.djvu
1.89 MB
COMPUTATIONAL ELECTROMAGNETICS FOR RFAND MICROWAVE ENGINEERING.pdf
3.39 MB
Computer Telephoney.rar
3.66 MB
Data-driven.Block.Ciphers.for.Fast.Telecommunication.Systems.ebook.pdf
5.28 MB
Data.Scheduling.and.Transmission.Strategies.in.Asymmetric.Telecommunication
.pdf
5.93 MB
DATABASE AND DATACOMMUNICATION NETWORK SYSTEMS.pdf
51.23 MB
DataConvertors for wireless technology.pdf
5.36 MB
Design of Ultra Wideband AntennaMatching Networks.pdf
16.82 MB
DIGITAL COMMUNICATIONS Design for the Real World.rar
5.73 MB
DIGITAL COMMUNICATIONS Fundamentals and Applications.pdf
73.16 MB
Digital Communications Using Chaos and Nonlinear Dynamics.pdf
15.72 MB
DSL Advances.chm
9.92 MB
EDGE for Mobile Internet.pdf
4.61 MB
Electrically Small, Superdirective, andSuperconducting Antennas.pdf
3.31 MB
End-to-End Quality of Service over Cellular Networks.pdf
13.66 MB
FIBER OPTIC DATA COMMUNICATION TECHNOLOGICAL TRENDS AND ADVANCES.pdf
13.36 MB
Fiber-optic communication systems.pdf
5.77 MB
FIXED MOBILE CONVERGENCE Voice over Wi-Fi, IMS, UMAGAN, Femtocells.pdf
6.02 MB
Foundations in Signal Processing Communications and Networking.pdf
4.90 MB
Fundamentals of Digital Communication.pdf
4.66 MB
Genetic and Evolutionary Computation forImage Processing and Analysis.pdf
33.73 MB
GPRS and 3G Wireless Applications.pdf
4.06 MB
GPRS Networks.pdf
4.39 MB
GSM and UMTS.pdf
4.44 MB
GSM Networks Protocols, Terminology,and Implementation.pdf
5.46 MB
GSM – Architecture, Protocols and Services.pdf
8.05 MB
HANDBOOK OF FIBER OPTIC DATA COMMUNICATION.pdf
38.01 MB
HANDBOOK ON SATELLITE COMMUNICATIONS.pdf
9.12 MB
High-Altitude Platforms for Wireless Communications.pdf
3.13 MB
IEEE.Press.Fundamentals.of.Telecommunications.2nd.Edition.pdf
8.66 MB
IMS IP Multimedia Concepts and Services in the Mobile Domain.pdf
20.14 MB
IMS.Multimedia.Telephony.over.Cellular.Systems.pdf
4.25 MB
Information Theory and Reliable communication.pdf
25.20 MB
Intelligent Networks.pdf
1.87 MB
Intro Multimedia Commu Applications Networking.pdf
9.48 MB
Introduction to Data Communications A Practical Approach.rar
6.06 MB
INTRODUCTION TO RF PROPAGATION.pdf
4.39 MB
Introduction to Wireless Communications Systems.pdf
19.85 MB
Introduction.to.CDMA.Wireless.Communications.pdf
8.18 MB
Introduction.to.Mobile.Communications.Apr.2007.pdf
18.19 MB
IP MULTICAST WITH APPLICATIONS TO IPTV AND MOBILE DVB-H.pdf
5.43 MB
Isdn Concepts_007034437X.rar
4.84 MB
Low Earth Orbital Satellitesfor Personal CommunicationNetworks.pdf
1.01 MB
Matehmatics.pdf
3.90 MB
Mathematical Principlesof Optical FiberCommunications.pdf
5.05 MB
Methods of Historical Analysisin Electronic Media.pdf
1.96 MB
MIMO SYSTEMTECHNOLOGY FORWIRELESSCOMMUNICATIONs.pdf
6.77 MB
Mobile Agents for TelecommunicationApplications.pdf
1.34 MB
Mobile and personal communication services and systems .pdf
18.54 MB
MOBILE AND WIRELESS COMMUNICATIONS.pdf
9.70 MB
MOBILE MESSAGING TECHNOLOGIES AND SERVICES SMS, EMS and MMS.pdf
10.28 MB
MOBILE TELECOMMUNICATIONS PROTOCOLS FOR DATA NETWORKS.pdf
2.78 MB
Mobile WiMAX.pdf
11.74 MB
Mobile Wireless Communications.pdf
4.08 MB
MULTI-GIGABIT TRANSMISSION OVER MULTIMODE OPTICALFIBRE.pdf
66.33 MB
Multicarrier Techniques for 4G MobileCommunications.pdf
7.45 MB
Network theorizing knowledge work in telecommunications.pdf
1.23 MB
Next Generation Mobile Systems 3G and Beyond.pdf
5.76 MB
Next.Generation.IPTV.Services.and.Technologies.pdf
7.75 MB
OFDM for WirelessCommunications Systems.pdf
5.30 MB
OFDM Towards Fixed and Mobile.pdf
2.45 MB
Optical.Fiber.Telecommunications.V.Volume.A.Components.and.Subsystems.pdf
22.91 MB
Optical.Fiber.Telecommunications.V.Volume.B.Systems.and.Networks.pdf
17.43 MB
Optoelectronics for Data Communication.pdf
16.14 MB
Packet Broadband Network Handbook.pdf
5.82 MB
Performance evoluation of UTMS.pdf
4.80 MB
Performance.Analysis.of.Communications.Networks.and.Systems.pdf
10.69 MB
Policy-Driven Mobile Ad hoc Network Management.pdf
4.54 MB
POSITIVE TRIGONOMETRIC POLYNOMIALS AND SIGNALPROCESSING APPLICATIONS.pdf
3.73 MB
Prentice.Hall.Fundamentals.of.WiMAX.Feb.2007.pdf
3.91 MB
Principles of Digital Communication Systems and Computer Networks.chm
17.06 MB
PRINCIPLES OF SPREAD-SPECTRUM COMMUNICATION SYSTEMS.pdf
14.34 MB
QoS and QoE Management in UMTS Cellular Systems.pdf
9.93 MB
QoS-Based Resource Allocation and Transceiver Optimization.pdf
1.09 MB
Quality of Telephone-Based Spoken Dialogue Systems.pdf
19.32 MB
QUEUEING THEORY WITH APPLICATIONS TO PACKET TELECOMMUNICATION.pdf
6.97 MB
Radio Propagation andAdaptive Antennas for Wireless Communication Links.pdf
10.75 MB
Radio.Network.Planning.and.Optimisation.for.UMTS.2nd.Edition.pdf
12.37 MB
Raman Amplification in Fiber Optical Communication Systems.pdf
7.18 MB
Random Matrix Theory and Wireless Communications.pdf
2.49 MB
RESOURCE ALLOCATION IN MULTIUSER MULTICARRIER WIRELESS SYSTEMS.pdf
2.08 MB
RF.Measurements.for.Cellular.Phones.and.Wireless.Data.Systems.pdf
14.67 MB
Satellite Communication Engineering.pdf
1.77 MB
Satellite Communications.pdf
5.83 MB
Satellite-UMTS- Specification of Protocols andTraffic Performance
Analysis.pdf
5.71 MB
Secure Communicating Systems.pdf
22.34 MB
Security for Mobility.chm
4.31 MB
SELF-SIMILAR PROCESSES IN TELECOMMUNICATIONS.pdf
4.36 MB
Signal Processing for Wireless Communications.pdf
10.44 MB
Signaling and Switching for.pdf
1.67 MB
Signaling in Telecommunication Networks.pdf
11.21 MB
signals and communication technology.pdf
3.71 MB
Signals and Communication Technology1.pdf
1.38 MB
Signals and Communication Technology2.pdf
13.47 MB
Smart Antennas for Wireless Communications.pdf
1.66 MB
Source Telecom Crash Course.pdf
5.22 MB
Space-Time Coding for Broadband Wireless Communications.pdf
21.79 MB
Spectrum spreading.pdf
8.57 MB
Spread Spectrum and CDMA.pdf
3.25 MB
Springer Design Performance 3gWirelessNetworks_LANs.pdf
19.07 MB
Springer Series on Signals and Communication Technology.pdf
5.36 MB
TCP Performance over UMTS-HSDPA Systems.pdf
2.53 MB
Technologies and Systems for Accessand Transport Networks.pdf
1.74 MB
Telecom Crash Course.pdf
8.44 MB
Telecom Dictionary.pdf
5.17 MB
Telecom for Dummies.chm
2.67 MB
Telecommunication System Engineering.pdf
7.95 MB
Telecommunications and Networks.pdf
3.20 MB
Telecommunications Essentials.chm
5.67 MB
Telecommunications optimization Heuristic and Adaptive techniques.pdf
4.80 MB
Telecommunications.Essentials.2nd.Edition.chm
9.45 MB
Telecosmos The Next Great Telecom Revolution.pdf
2.60 MB
teletraffic Analysis.pdf
3.68 MB
THE BOOK of WIRELESS 2ND EDITION.pdf
10.62 MB
The Cable and Telecommunications Professionals’ Reference VOL1.pdf
12.96 MB
The Cable and Telecommunications Professionals’ Reference Vol2.pdf
4.43 MB
The Future of Mobile Communications.pdf
816.23 KB
The Great Telecom Meltdown.pdf
1.30 MB
The Little Data Book onInformation andCommunicationTechnology.pdf
1.24 MB
The New Communications Technologies.pdf
4.83 MB
THE ORIGINS OF FIBER OPTICCOMMUNICATIONS.pdf
1.47 MB
The Telecom Handbook.pdf
3.20 MB
The UMTS Network andRadio Access Technology.pdf
7.30 MB
THE WORLDWIDE HISTORY OF TELECOMMUNICATIONS.pdf
13.82 MB
Theory and Applications of OFDM and CDMA.pdf
7.72 MB
THEORY OFCODE DIVISIONMULTIPLE ACCESS COMMUNICATION.pdf
5.37 MB
Tranmission Line Design.pdf
13.81 MB
TURBO CODE APPLICATIONS.pdf
4.56 MB
ULTRA WIDEBAND WIRELESS COMMUNICATION.pdf
8.99 MB
Ultra-Wideband Communications Fundamentals and Applications.chm
2.45 MB
Ultra-Wideband Communications Systems.pdf
2.39 MB
ULTRA-WIDEBAND WIRELESS COMMUNICATIONS AND NETWORKS.pdf
3.30 MB
UMTS and Mobile Computing.pdf
4.43 MB
UMTS mobile communications for the future.pdf
2.71 MB
UMTS Network Planning and Development Implementation of 3G
CDMAInfrastructure.pdf
4.12 MB
UMTS.Performance.Measurement.pdf
5.02 MB
Understanding Broadband over Power Line.pdf
10.54 MB
UNDERSTANDING IPTV.pdf
6.39 MB
Understanding Telecommunications and Lightwave Systems.pdf
15.43 MB
UWB CommunicationSystems.pdf
23.47 MB
Value.Added.Services.for.Next.Generation.Networks.pdf
2.61 MB
Video Over IP Understanding the Technology.pdf
5.59 MB
Voice and Audio Compression for Wireless Communications.pdf
10.77 MB
VOICE, VIDEO, AND DATA NETWORK CONVERGENCE.pdf
2.71 MB
VSAT Networks.pdf
4.18 MB
WCDMA.Deployment.Handbook.Planning.and.Optimization.Aspects.pdf
5.75 MB
WCDMA.for.UMTS.HSPA.Evolution.and.LTE.4th.Edition.pdf
13.28 MB
Why IPTV Interactivity, Technologies and Services.pdf
2.81 MB
Wideband TDD.pdf
4.47 MB
WiMAX Evolution.pdf
6.13 MB
Wireless Communications and Mobile Commerce.chm
4.28 MB
WIRELESS COMMUNICATIONS Design HandBook.pdf
7.30 MB
Wireless Communications The Future.pdf
21.51 MB
WIRELESS COMMUNICATIONS.pdf
3.47 MB
Wireless Crash Course Second Edition.pdf
5.33 MB
Wireless Data Services.pdf
4.43 MB
Wireless Optical Communication Systems.pdf
6.98 MB
Wireless Security.pdf
2.04 MB
Wireless Telecom FAQs.rar
2.75 MB
Wireless.Communications.over.MIMO.Channels.pdf
5.82 MB
Total file size: 1.77 GB